LEADER 04668nam 22004093 450 001 9910510561803321 005 20211130080204.0 010 $a9781484274774$b(electronic bk.) 010 $z9781484274767 035 $a(MiAaPQ)EBC6817005 035 $a(Au-PeEL)EBL6817005 035 $a(CKB)19934884600041 035 $a(OCoLC)1287136474 035 $a(EXLCZ)9919934884600041 100 $a20211130d2021 uy 0 101 0 $aeng 135 $aurcnu|||||||| 181 $ctxt$2rdacontent 182 $cc$2rdamedia 183 $acr$2rdacarrier 200 10$aSpring REST $eBuilding Java Microservices and Cloud Applications 205 $a2nd ed. 210 1$aBerkeley, CA :$cApress L. P.,$d2021. 210 4$d©2022. 215 $a1 online resource (251 pages) 311 08$aPrint version: Varanasi, Balaji Spring REST Berkeley, CA : Apress L. P.,c2021 9781484274767 327 $aIntro -- 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. 327 $aSwagger -- 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. 608 $aElectronic books. 700 $aVaranasi$b Balaji$0879537 701 $aBartkov$b Maxim$01066913 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 912 $a9910510561803321 996 $aSpring REST$92550184 997 $aUNINA