1.

Record Nr.

UNINA9910300639303321

Autore

Varanasi Balaji

Titolo

Spring REST / / by Balaji Varanasi, Sudha Belida

Pubbl/distr/stampa

Berkeley, CA : , : Apress : , : Imprint : Apress, , 2015

ISBN

9781484208236

1484208234

Edizione

[1st ed. 2015.]

Descrizione fisica

1 online resource (195 p.)

Collana

The expert's voice in Spring

Disciplina

004

Soggetti

Java (Computer program language)

Software engineering

Java

Software Engineering/Programming and Operating Systems

Lingua di pubblicazione

Inglese

Formato

Materiale a stampa

Livello bibliografico

Monografia

Note generali

Includes index.

Nota di contenuto

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

Sommario/riassunto

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.