[baeldung.com] Build Your REST API with Spring [The Master Class]
The Master Class
The canonical reference for building a production grade API with Spring. The 9 modules cover building and securing the API for production use, advanced evolution and discovery techniques, client code to consume it from the front end, comprehensive monitoring, continuous integration, continuous deployment, and more.
In addition to the detailed guides on implementation, you’ll also get the knowledge needed to run the API in production reliably and consistently. You’ll get templates of my time-tested Spring API implementations along with the understanding of how to use these to get your own APIs out and into the hands of clients quickly.
Everything I wish I had access to when I built my first API with Spring.
~10 Hours
1. The Basics of REST with Spring
Скрытое содержимое.
The Master Class
The canonical reference for building a production grade API with Spring. The 9 modules cover building and securing the API for production use, advanced evolution and discovery techniques, client code to consume it from the front end, comprehensive monitoring, continuous integration, continuous deployment, and more.
In addition to the detailed guides on implementation, you’ll also get the knowledge needed to run the API in production reliably and consistently. You’ll get templates of my time-tested Spring API implementations along with the understanding of how to use these to get your own APIs out and into the hands of clients quickly.
Everything I wish I had access to when I built my first API with Spring.
~10 Hours
1. The Basics of REST with Spring
- The Anatomy of a REST API
- Bootstrap a New Project
- The User Management Project: A Full API
- Application Startup: Executable Jar,
Tomcat Deployment and Cargo - Properties and Project Settings
- The Web Configuration
- Exception Handling Good Practices and Sane HTTP Status Codes
- The Basics of Input Validation
- Good URI Practices (Nouns vs Verbs, Plural vs Singular, Identifiers vs UUID)
- Leverage HTTP Verbs and Semantics
- Content Negotiation: Support both XML and JSON
- The Lifecycle of a Request
- Simple Spring Security for the API
- Global URL vs Method Level Authorization
- Understanding Cookies and the Session
- Certificates and HTTPS for Tomcat
- The Topology of Roles and Privileges
- Basic Ways to Consume REST from AngularJS
- Dealing with CORS and Advanced CORS Scenarios (2 parts)
- Working with OAuth2 and Tokens (JWT) from the front-end
- The First Live API Tests - Introducing rest-assured (2 parts)
- How To Build a Client for the API (2 parts)
- How to test HTTP semantics
- A Good Base API Tests for Any Resource
- Contract Testing - A Special Kind Of Test
- How OAuth2 Works for REST (2 parts)
- Set Up OAuth2 with Spring Security (2 parts)
- Tokens, OAuth2 and JWT
- Refreshing a token
- How To Do OAuth from the Front End
- Document the API with Swagger
- The Basics of HATEOAS
- Advanced Scenarios with Spring HATEOAS
- How To Evolve the API without Breaking Clients
- Versioning — The Last Resort
- Fundamentals of Monitoring with Boot
- Custom Metrics with the Dropwizard Metrics library
- Monitoring Data over JMX
- Displaying Metrics over HTTP
- Production Grade Tools for Monitoring
- Setting Up Jenkins and The First Job
- A Simple Jenkins Pipeline From Scratch
- Remote Deployment for the API
- From Continuous Integration to Continuous Deployment
- Load Balance the REST API on EC2
- ETags in REST
- A Simple API Rate Limiting Implementation
- Binary Data Formats in a Spring REST API
- REST, Async and Long Running Requsts
- Moving Past the Servlet - going Reactive
- How to Build a Reactive REST API
- Understanding the new WebClient
- Using the New Bean Validation 2.0
- Using Kotlin to Build the API
- New Indexing Alternative to Classpath Scanning
- What's Possible with the ResponseStatusException
- JSON Binding API, the Jackson alternative
Скрытое содержимое.
http://www.baeldung.com/rest-with-spring-course