1.

Record Nr.

UNINA9910510561803321

Autore

Varanasi Balaji

Titolo

Spring REST : Building Java Microservices and Cloud Applications

Pubbl/distr/stampa

Berkeley, CA : , : Apress L. P., , 2021

©2022

ISBN

9781484274774

9781484274767

Edizione

[2nd ed.]

Descrizione fisica

1 online resource (251 pages)

Altri autori (Persone)

BartkovMaxim

Soggetti

Electronic books.

Lingua di pubblicazione

Inglese

Formato

Materiale a stampa

Livello bibliografico

Monografia

Nota di contenuto

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.