舉報

會員
Building RESTful Web Services with Spring 5(Second Edition)
ThisbookisintendedforthosewhowanttolearntobuildRESTfulwebserviceswiththelatestSpring5.0Framework.Tomakebestuseofthecodesamplesincludedinthebook,youshouldhaveabasicknowledgeoftheJavalanguage.PreviousexperiencewiththeSpringFrameworkwouldalsohelpyougetupandrunningquickly.
目錄(261章)
倒序
- coverpage
- Title Page
- Dedication
- Packt Upsell
- Why subscribe?
- PacktPub.com
- Contributors
- About the authors
- About the reviewer
- Packt is searching for authors like you
- Preface
- Who this book is for
- What this book covers
- To get the most out of this book
- Download the example code files
- Download the color images
- Conventions used
- Get in touch
- Reviews
- A Few Basics
- REST – a basic understanding
- Uniform interface
- Client and server
- Stateless
- Cacheable
- Layered system
- Code on demand (COD)
- More on REST
- Imperative and Reactive programming
- Reactive Streams
- Benefits of Reactive programming
- Reactive programming in Java and Spring 5
- Our RESTful web service architecture
- Summary
- Building RESTful Web Services in Spring 5 with Maven
- Apache Maven
- Creating a project with Maven
- Viewing a POM file after creating a project
- POM file structure
- Understanding POM dependencies
- Adding Log4j 2.9.1 to POM dependency
- Dependency trees
- Spring Boot
- Developing RESTful web services
- Creating a project base
- Working with your favorite IDE
- Summary
- Flux and Mono (Reactor Support) in Spring
- Benefits of Reactive programming
- Reactive Core and Streams
- Back pressures and Reactive Streams
- WebFlux
- Basic REST API
- Flux
- Mono
- User class with Reactive – REST
- Summary
- CRUD Operations in Spring REST
- CRUD operations in Spring REST
- HTTP methods
- Reactive server initialization
- Sample values in the repository
- getAllUsers – mapping
- getAllUsers – implementation in the handler and repository
- Testing the endpoint – getAllUsers
- getUser – implementation in the handler and repository
- Testing the endpoint – getUser
- createUser – implementation in the handler and repository
- Testing the endpoint – createUser
- updateUser – implementation in the handler and repository
- Testing the endpoint – updateUser
- deleteUser – implementation in the handler and repository
- Testing the endpoint – deleteUser
- Summary
- CRUD Operations in Plain REST (Without Reactive) and File Upload
- Mapping CRUD operations to HTTP methods
- Creating resources
- CRUD operation in Spring 5 (without Reactive)
- getAllUsers – implementation
- getUser – implementation
- createUser – implementation
- updateUser – implementation
- deleteUser – implementation
- File uploads – REST API
- Testing the file upload
- Summary
- Spring Security and JWT (JSON Web Token)
- Spring Security
- Authentication and authorization
- JSON Web Token (JWT)
- JWT dependency
- Creating a JWT token
- Generating a token
- Getting a subject from a JWT token
- Getting a subject from a token
- Summary
- Testing RESTful Web Services
- JUnit
- MockMvc
- Testing a single user
- Postman
- Getting all the users – Postman
- Adding a user – Postman
- Generating a JWT – Postman
- Getting the subject from the token
- SoapUI
- Getting all the users – SoapUI
- Generating JWT SoapUI
- Getting the subject from the token – SoapUI
- jsoup
- Getting a user – jsoup
- Adding a user – jsoup
- Running the test cases
- Summary
- Performance
- HTTP compression
- Content negotiation
- Accept-Encoding
- Content-Encoding
- Server-driven content negotiation
- Agent-driven content negotiation
- HTTP caching
- HTTP cache control
- Public caching
- Private caching
- No-cache
- Only-if-cached
- Cache validation
- ETags
- Last-Modified/If-Modified-Since headers
- Cache implementation
- The REST resource
- Caching with ETags
- Summary
- AOP and Logger Controls
- Aspect-oriented programming (AOP)
- AOP (@Before) with execution
- Testing AOP @Before execution
- AOP (@Before) with annotation
- Testing AOP @Before annotation
- Integrating AOP with JWT
- Logger controls
- SLF4J Log4J and Logback
- Logback framework
- Logback dependency and configuration
- Logging levels
- Logback implementation in class
- Summary
- Building a REST Client and Error Handling
- Building a REST client
- RestTemplate
- Error handling
- Customized exception
- Summary
- Scaling
- Clustering
- Benefits of clustering
- Load balancing
- Scaling databases
- Vertical scaling
- Horizontal scaling
- Read replicas
- Pool connections
- Use multiple masters
- Load balancing in DB servers
- Database partitioning
- Sharding (horizontal partitioning)
- Vertical partitioning
- Distributed caching
- Data-tier caching
- First-level caching
- Second-level caching
- Application-tier caching
- Memcached
- Redis
- Hazelcast
- Ehcache
- Riak
- Aerospike
- Infinispan
- Cache2k
- Other distributed caching
- Amazon ElastiCache
- Oracle distributed cache (Coherence)
- Summary
- Microservice Basics
- Monolithic architecture and its drawbacks
- Introduction to microservices
- Independence and autonomy
- Resilience and fault tolerance
- Automated environment
- Stateless
- Benefits of microservices
- Microservice components
- Configuration server
- Load balancer
- Service discovery
- Circuit breaker
- Edge server
- Microservice tools
- Netflix Eureka
- Netflix Zuul
- Spring Cloud Netflix
- Netflix Ribbon
- Netflix Hystrix
- Netflix Turbine
- HashiCorp Consul
- Eclipse MicroProfile
- Summary
- Ticket Management – Advanced CRUD
- Ticket management using CRUD operations
- Registration
- User types
- User POJO
- Customer registration
- Admin registration
- CSR registration
- Login and token management
- Generating a token
- Customer login
- Admin login
- CSR login
- Ticket management
- Ticket POJO
- Getting a user by token
- User Ticket management
- Ticket controller
- The UserTokenRequired interface
- The UserTokenRequiredAspect class
- Getting my tickets – customer
- Allowing a user to view their single ticket
- Allowing a customer to update a ticket
- Updating a ticket – service (TicketServiceImpl)
- Deleting a ticket
- Deleting a service – service (TicketServiceImpl)
- Deleting my ticket – API (ticket controller)
- Admin Ticket management
- Allowing a admin to view all tickets
- Getting all tickets – service (TicketServiceImpl)
- Getting all tickets – API (ticket controller)
- The AdminTokenRequired interface
- The AdminTokenRequiredAspect class
- Admin updates a ticket
- Updating a ticket by admin – service (TicketServiceImpl)
- Allowing admin to view a single ticket
- Allowing admin to delete tickets
- Deleting tickets – service (TicketServiceImpl):
- Deleting tickets by admin – API (ticket controller):
- CSR Ticket management
- CSR updates a ticket
- CSRTokenRequired AOP
- CSRTokenRequiredAspect
- CSR view all tickets
- Viewing all tickets by CSR – API (ticket controller)
- CSR view single ticket
- CSR delete tickets
- Deleting tickets – service (TicketServivceImpl)
- Deleting tickets by CSR – API (ticket controller)
- Summary
- Other Books You May Enjoy
- Leave a review - let other readers know what you think 更新時間:2021-06-30 19:14:04
推薦閱讀
- 物聯網(IoT)基礎:網絡技術+協議+用例
- 物聯網安全(原書第2版)
- 物聯網短距離無線通信技術應用與開發
- 面向云平臺的物聯網多源異構信息融合方法
- React:Cross-Platform Application Development with React Native
- Spring 5.0 Projects
- Microservice Patterns and Best Practices
- 網絡AI+:2030后的未來網絡
- 物聯網工程概論
- 網絡安全之道
- 數字王國里的虛擬人:技術、商業與法律解讀
- Building Microservices with Spring
- ReasonML Quick Start Guide
- CTO說
- 校園網絡規劃與架設
- Recurrent Neural Networks with Python Quick Start Guide
- 人人時代:無組織的組織力量
- 窄帶物聯網(NB-IoT)標準與關鍵技術
- 華為HCIA路由與交換技術實戰
- Django 2 Web Development Cookbook
- 物聯網導論
- ECMAScript Cookbook
- 深入理解互聯網
- 網絡升級與改造實戰指南
- 下一代互聯網
- Real-Time 3D Graphics with WebGL 2
- 5GtoB如何使能千行百業
- 實施Cisco統一通信管理器(CIPT2)
- 路由交換技術與實踐
- INSTANT Google Map Maker Starter