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...

Descripción completa

Detalles Bibliográficos
Otros Autores: Varanasi, Balaji, author (author), Bartkov, Maxim, author
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.