Spring REST building Java microservices and Cloud applications
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, err...
Otros Autores: | , |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
New York :
Apress Media LLC
[2022]
|
Edición: | 2nd edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009638339306719 |
Tabla de Contenidos:
- 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.