
Block out a dedicated hour, complete the course with hands-on practice, finish quizzes and assignments, join the Slack community, and enroll to receive the Spring Framework Guru newsletter.
Master the GitHub workflow for this course by forking the repository, cloning to your local workspace, and using master and ending branches to compare changes.
API first for organizations treats the API as the company's product, demanding product-grade quality, organizational alignment across marketing, product, and engineering, and well-documented, interoperable APIs.
Learn API-first best practices by treating the OpenAPI specification as the contract and single source of truth, validating, linting, and generating code to ensure governance and alignment.
Create a development branch in GitHub, set it as the default, and tie the open API specification and documentation to this baseline for an API-first Spring Boot project.
Create a new Maven project in IntelliJ for a Spring Boot workflow, establishing a multi-module build with an open API specification source generation module and a Spring Boot module.
Troubleshoot illegal argument exceptions when deserializing OpenAPI YAML by adjusting Redocly security settings to allow public access, then generate Java POJOs with the OpenAPI code generator for Maven.
Configure the open api code generation plugin to use Jackson, select rest template, and disable docs and tests to generate only pojo models.
Enable bean validation by configuring the plugin and using hibernate validator 8.0 with the Jakarta namespace, then add Jakarta annotations for open api constraints used by spring boot.
Explore how to disable json nullable in the OpenAPI generator to stop wrapping nullable properties with jackson data bind nullable wrapper, by setting open API nullable to false, improving models.
Initialize customer data by seeding an in-memory hash map repository with a builder-pattern customer and address objects, simulating a spring data persistence layer during bootstrap.
Implement a create order api by wiring an order create object with customer and product lookups, enforcing 201 responses per open api specification, and validating with the swagger request validator.
Clean up the open api schema by correcting tag names, fixing the selected payment method id, and correcting misspellings in dimensions and product properties, with code updates and GitHub commits.
Implement a category entity and map a bidirectional many-to-many relationship with product, using default Hibernate mapping and a join table that stores both entity IDs.
Take a comprehensive dive into the world of API First development using Spring 6 and Spring Boot 3. This extensive course covers the latest practices and tools for designing, building, and testing robust APIs following industry best practices.
You'll begin by understanding the foundational concepts of API-first development and its benefits for organizations. The course then guides you through the practical implementation of an API using OpenAPI specifications, domain-driven design principles, and code generation from OpenAPI specifications.
Throughout the course, you'll explore a wide range of topics, including:
Defining APIs using the OpenAPI specification and tools like Redocly
Using Redocly to establish CI/CD builds for your OpenAPI Specification and Redoc API Documentation
Applying domain-driven design principles for effective API design
Generating code from OpenAPI specifications using Maven with OpenAPI Code Generator
Developing Spring Boot and SpringMVC to implementing API endpoints
Testing APIs with Spring MockMVC and incorporate request validation to your OpenAPI Specification
Implementing create, update, patch, and delete operations for APIs
Object-relational mapping with JPA, Hibernate
Using MapStruct for efficient object mapping and type transformation
Enforcing data validation and constraints with JPA and Java Bean Validation
Handling standardized problems and errors with libraries like Zalando Problem
Generation of Spring Boot API clients and using clients with integration testing
Throughout the course, you'll work on a real-world e-commerce API project, applying the concepts and best practices learned in each section. By the end of this course, you'll have a deep understanding of API-first development using Spring 6 and Spring Boot 3 with OpenAPI, enabling you to design, build, and test robust APIs that adhere to industry standards.
This course is a master course in developing high quality world class API products for your customers.
Enroll now and elevate your skills in API development with Spring!