Spring REST [electronic resource] /
Varanasi, Balaji.author.
Belida, Sudha.author.
Spring REST is a practical guide for designing and developing RESTful APIs using the Spring Framework. This book walks you through the process of designing and building a REST application while taking a deep dive into design principles and best practices for versioning, security, documentation, error handling, paging, and sorting. This book provides a brief introduction to REST, HTTP, and web infrastructure. You will learn about several Spring projects such as Spring Boot, Spring MVC, Spring Data JPA, and Spring Security and the role they play in simplifying REST application development. You will learn how to build clients that consume REST services. Finally, you will learn how to use the Spring MVC test framework to unit test and integration test your REST API. After reading this book, you will come away with all the skills to build sophisticated REST applications using Spring technologies.
Contents at a Glance; 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 ComponentsController;  Model;  View ; @RequestParam; @ RequestMapping ; 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;  Configuring UI
SummaryChapter 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;  Swagger config;  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; Note;  Securing QuickPoll;  cURL;  User Infrastructure Setup;  UserDetailsService Implementation;  Customizing Spring Security;  Securing URI;  QuickPoll OAuth 2.0 Provider Implementation;  Testing QuickPoll OAuth 2.0 Implementation; Note;  Summary; Chapter 9: Clients and Testing;  QuickPoll Java Client ;  RestTemplate;  Getting Polls;  Creating a Poll;  PUT Method;  DELETE Method;  Handling Pagination
Handling Basic Authentication
Includes index.
Spring REST is a practical guide for designing and developing RESTful APIs using the Spring Framework. This book walks you through the process of designing and building a REST application while taking a deep dive into design principles and best practices for versioning, security, documentation, error handling, paging, and sorting. This book provides a brief introduction to REST, HTTP, and web infrastructure. You will learn about several Spring projects such as Spring Boot, Spring MVC, Spring Data JPA, and Spring Security and the role they play in simplifying REST application development. You will learn how to build clients that consume REST services. Finally, you will learn how to use the Spring MVC test framework to unit test and integration test your REST API. After reading this book, you will come away with all the skills to build sophisticated REST applications using Spring technologies.
Java (Computer program language).
Software engineering.
Java.
Software Engineering/Programming and Operating Systems.