توضیحاتی در مورد کتاب :
طراحی و توسعه APIهای RESTful مبتنی بر جاوا با استفاده از آخرین نسخههای Spring MVC و Spring Boot. این کتاب شما را در فرآیند طراحی و ساخت یک برنامه REST راهنمایی می کند و در عین حال به اصول طراحی و بهترین شیوه ها برای نسخه سازی، امنیت، مستندسازی، مدیریت خطا، صفحه بندی و مرتب سازی می پردازد. Spring REST معرفی مختصری از REST، HTTP و زیرساخت وب ارائه می دهد. شما در مورد چندین پروژه Spring مانند Spring Boot، Spring MVC، Spring Data JPA و Spring Security و نقشی که آنها در ساده سازی توسعه برنامه REST ایفا می کنند، خواهید آموخت. شما یاد خواهید گرفت که چگونه مشتریانی بسازید که از خدمات REST استفاده می کنند. در نهایت، نحوه استفاده از چارچوب تست Spring MVC برای تست واحد و تست یکپارچه سازی REST API خود را خواهید آموخت. پس از خواندن این کتاب، تمام مهارتهای ساخت اپلیکیشنهای پیچیده REST را با استفاده از فناوریهای Spring بدست خواهید آورد. آنچه یاد خواهید گرفت ساخت میکروسرویسهای مبتنی بر جاوا، ابر بومی یا هر برنامه کاربردی با استفاده از Spring REST استفاده از Spring MVC و RESTful Spring Build یک نمونه برنامه QuickPoll خدمات Document REST، و همچنین نسخهسازی، صفحهبندی و مرتبسازی تست، رسیدگی به خطاها و ایمنسازی برنامه Who This Book برای برنامه نویسان جاوا متوسط با حداقل تجربه قبلی در زمینه توسعه برنامه های کاربردی Spring و وب / ابری است.
فهرست مطالب :
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
توضیحاتی در مورد کتاب به زبان اصلی :
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, error handling, paging, and sorting. Spring REST 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. What You Will Learn Build Java-based microservices, native cloud, or any applications using Spring REST Employ Spring MVC and RESTful Spring Build a QuickPoll application example Document REST services, as well as versioning, paging, and sorting Test, handle errors and secure your application Who This Book Is For Intermediate Java programmers with at least some prior experience with Spring and web/cloud application development.