05638nam 2200553 450 991052297400332120221007205407.01-4842-7477-610.1007/978-1-4842-7477-4(MiAaPQ)EBC6817005(Au-PeEL)EBL6817005(CKB)19934884600041(OCoLC)1287136474(OCoLC-P)1287136474(PPN)260834068(CaSebORM)9781484274774(EXLCZ)991993488460004120220819d2022 fy 0engurcnu||||||||txtrdacontentcrdamediacrrdacarrierSpring REST building Java microservices and Cloud applications /Balaji Varanasi, Maxim Bartkov2nd editionNew York :Apress Media LLC,[2022]©20221 online resource (251 pages)Includes index.Print version: Varanasi, Balaji Spring REST Berkeley, CA : Apress L. P.,c2021 9781484274767 Intro -- Table of Contents -- About the Authors -- About the Technical Reviewer -- Acknowledgments -- Introduction -- Chapter 1: Introduction to REST -- What Is REST? -- Understanding Resources -- Identifying Resources -- URI Templates -- Representation -- HTTP Methods -- Safety -- Idempotency -- GET -- HEAD -- DELETE -- PUT -- POST -- PATCH -- HTTP Status Codes -- Richardson's Maturity Model -- Level Zero -- Level One -- Level Two -- Level Three -- Building a RESTful API -- Summary -- Chapter 2: Spring Web MVC Primer -- Spring Overview -- Dependency Injection -- Aspect-Oriented Programming -- Spring Web MVC Overview -- Model View Controller Pattern -- Spring Web MVC Architecture -- Spring Web MVC Components -- Controller -- Model -- View -- @RequestParam -- @RequestMapping -- @RequestMapping Shortcut Annotations -- Path Variables -- View Resolver -- Exception Handler -- Interceptors -- Summary -- Chapter 3: RESTful Spring -- Generating a Spring Boot Project -- Installing a Build Tool -- Generating a Project Using start.spring.io -- Generating a Project Using STS -- Generating a Project Using the CLI -- Accessing REST Applications -- Postman -- RESTClient -- Summary -- Chapter 4: Beginning QuickPoll Application -- Introducing QuickPoll -- Designing QuickPoll -- Resource Identification -- Resource Representation -- Endpoint Identification -- Action Identification -- QuickPoll Architecture -- Implementing QuickPoll -- Domain Implementation -- Repository Implementation -- Embedded Database -- API Implementation -- PollController Implementation -- VoteController Implementation -- ComputeResultController Implementation -- Summary -- Chapter 5: Error Handling -- QuickPoll Error Handling -- Error Responses -- Input Field Validation -- Externalizing Error Messages -- Improving RestExceptionHandler -- Summary -- Chapter 6: Documenting REST Services.Swagger -- Integrating Swagger -- Swagger UI -- Customizing Swagger -- Configuring Controllers -- Summary -- Chapter 7: Versioning, Paging, and Sor ting -- Versioning -- Versioning Approaches -- URI Versioning -- URI Parameter Versioning -- Accept Header Versioning -- Custom Header Versioning -- Deprecating an API -- QuickPoll Versioning -- SwaggerConfig -- Pagination -- Page Number Pagination -- Limit Offset Pagination -- Cursor-Based Pagination -- Time-Based Pagination -- Pagination Data -- QuickPoll Pagination -- Changing Default Page Size -- Sor ting -- Sort Ascending or Sort Descending -- QuickPoll Sorting -- Summary -- Chapter 8: Security -- Securing REST Services -- Session-Based Security -- HTTP Basic Authentication -- Digest Authentication -- Certificate-Based Security -- XAuth -- OAuth 2.0 -- OAuth Client Profiles -- Refresh Tokens versus Access Tokens -- Spring Security Overview -- Securing QuickPoll -- cURL -- User Infrastructure Setup -- UserDetailsService Implementation -- Customizing Spring Security -- Securing URI -- Summary -- Chapter 9: Clients and Testing -- QuickPoll Java Client -- RestTemplate -- Getting Polls -- Creating a Poll -- PUT Method -- DELETE Method -- Handling Pagination -- Handling Basic Authentication -- Testing REST Services -- Spring Test -- Unit Testing REST Controllers -- Spring MVC Test Framework Basics -- Unit Testing Using Spring MVC Test Framework -- Integration Testing REST Controllers -- Summary -- Chapter 10: HATEOAS -- HATEOAS -- JSON Hypermedia Types -- JSON Hypermedia Types -- HAL -- HATEOAS in QuickPoll -- Summary -- Index.Design and develop Java-based RESTful APIs using the latest versions of the Spring MVC and Spring Boot frameworks. This book walks you through the process of designing and building a REST application while delving into design principles and best practices for versioning, security, documentation, error handling, paging, and sorting. Spring REST provides a brief introduction to REST, HTTP, and web infrastructure.Application program interfaces (Computer software)Representational State Transfer (Software architecture)Aspect-oriented programmingApplication program interfaces (Computer software)Representational State Transfer (Software architecture)Aspect-oriented programming.005.13Varanasi Balaji879537Bartkov MaximMiAaPQMiAaPQMiAaPQBOOK9910522974003321Spring REST2595314UNINA