
Discover essential software installation for building spring boot rest apis: JDK, STS, curl, Postman, Maven, Git, MySQL Server and MySQL Workbench, with LTS Java versions and macOS focus.
Install Spring Tool Suite IDE on macOS by downloading the appropriate dmg for arm64 or x86_64, drag to applications, and launch with the default workspace, using the included OpenJDK 17.
Install Apache Maven by downloading the binary distribution, unzip it, and configure system environment variables (MAVEN_HOME and PATH) on macOS, then verify with mvn -v.
Explore how Git, a free distributed version control system, helps manage source code and collaboration; macOS preinstalls Git, clone from GitHub, deploy to Heroku or AWS.
Download and install MySQL Workbench, connect to a local MySQL server, and begin visually designing, modeling, generating, and managing databases for the Spring Boot REST APIs course.
Explore the fundamentals of APIs, their meaning, and types—web, REST, SOAP, RPC, and websocket—along with real-world examples of private, public, partner, and composite APIs.
Learn what a REST API is, what REST stands for representational state transfer, and how it works with JSON over HTTP using methods like GET, POST, PUT, and DELETE.
Understand what URIs are and how URNs and URLs differ, including their structure with scheme, host name, and path, and see REST API endpoints identified by URIs.
Learn HTTP methods and status codes for Spring Boot REST APIs, including get, post, put, batch, and delete, with codes such as 200, 201, 202, and 204.
Understand hateoas in rest api development by seeing how hypermedia guides navigation through embedded links, enabling actions like view, deposit, and withdraw.
Create your first REST API with Spring Boot, exposing a hello REST API endpoint and a JSON response showing a message and the current time. Test with curl.
Build a second rest api in spring boot that handles unit conversions with a conversion details model, length converter, and post mapping, tested via postman and json request bodies.
build a spring boot rest api for student management, implementing create, retrieve, update, and delete operations with a static list, using rest controller mappings and postman testing.
Apply the correct http methods to manage resources (get, head, post, put, patch, delete, options) and use status codes like 303, 307, and 415 to ensure idempotent, predictable REST APIs.
Learn to design rest APIs with hypermedia (HATEOAS) using hybrid media, embedding links in responses so clients follow actions and decouple server and client.
Explore versioning strategies for REST APIs, including header-based and path-based versioning, and apply semantic versioning with major, minor, and patch increments for breaking changes and new features.
Document rest APIs with spring rest docs and open API specifications to make them discoverable and up to date, including sample requests, authentication, authorization, and error handling.
Explore API caching for REST APIs, boosting performance and reducing latency and bandwidth by caching responses on client and server sides with http headers like cache-control, etag, and last-modified.
Explore the primary workflows of API usage: setting up client apps for weather stations and integrating APIs in developer applications to enable real-time weather data updates.
Understand the data requirements and relational database design for a weather api service, detailing users, admin and client roles, locations, and real-time, hourly, and daily forecast tables and their relationships.
Understand the logical layers of the visor api system, from security filters and rest controllers to cache, service, and repository layers, and deploy on localhost or cloud containers.
Request access to the private reef code repository on GitHub by sending your Udemy username; you'll be added as a collaborator and can browse online, clone, or download the code.
Browse GitHub project code in the web browser without installing software, search files, navigate classes and methods, and view file history with access to private repositories.
Disconnect your client project from the remote repository on GitHub to avoid pushing changes, using git remote rm origin or eclipse team disconnect, while still browsing code history.
Explore the open API specification and swagger tools to design, document, and generate code for REST APIs, including swagger editor, swagger UI, and code generation capabilities.
Design an example API with swagger to model a users endpoint, define responses and a user schema using the swagger editor and OpenAPI documentation.
Generate server code for the example API using Swagger; generate skeleton rest API controllers; import into IDE; implement list users; run the Spring Boot application; test with curl.
Generate Java rest client code for the example API, import the project into the summary tool suite, fix dependencies (javax.annotation), and run tests to print the API response body.
Package the example api into an executable with Maven, clean the build, configure Java version, and run the Spring Boot app on localhost; test with curl and the Swagger UI.
Design weather forecast APIs (version 1) guides building an OpenAPI swagger-driven API with five groups: location, real-time weather, hourly and daily forecasts, and full weather.
Learn when to use Swagger to design, explore, and test REST APIs, create an OpenAPI-based API design document, and decide if Swagger editor fits your team's API development needs.
Explore how Swagger designs, visualizes, and tests REST APIs per the open API specification. Use Swagger Editor and Swagger UI to design before coding and generate server and client code.
Build a multi-module Maven project for a weather forecast API, sharing a common library across modules and supporting API service, API client manager, data manager, website, desktop, and mobile.
Configure data source properties for the Weather API Service, including jdbc url, username, password, and hibernate settings, with hybrid forward engineering and sql formatting in the MySQL console.
Build a zero location geolocation database for weather forecast apis using ip-based lookup with ip to location dot com and ip location lite db3 for country, region and city mappings.
Identify API requirements, then implement repository, service, and controller layers, add security, caching, and rate limiting, and document the API with unit and integration tests.
Create a location entity class mapping Java objects to the locations table, with fields like code and city name, then define a location repository and generate the table with Hibernate.
Implement the add location API (/v1/locations) end-to-end by wiring repository, service, and controller layers, and validate with unit tests and Postman-driven integration tests using Swagger.
Build the list locations API in a Spring Boot REST app with repository, service, and controller layers, plus unit and integration tests, returning 200 with locations or 204 when none.
Explore updating an existing location via the service and controller layers, including a no location with the given code custom exception, and testing with curl and postman.
Welcome to Spring Boot REST APIs Ultimate course!
My name is Nam Ha Minh. I’m the instructor who will lead you through this course. You know, I’ve been programming with Java for nearly 2 decades, since the days of Java 1.3 and 1.4. I’m a professional Java developer certified by Oracle.
I’m very glad that you’re interested in this course. Let me introduce exactly what this course is about, and everything you need to know before enrolling.
What this Course is Exactly About:
This is a comprehensive course about REST API development, from understanding REST API Core Concepts to API Design Best Practices and Implementing APIs with Spring Boot; from Securing APIs to Testing APIs; from Documenting APIs to Deploying APIs.
This course is also about development of different kinds of REST Client applications such as Web app (Spring MVC), React app, desktop app (Java Swing) and mobile app (Android).
What You Will Learn to Build:
Through this comprehensive course, you will learn to build Weather APIs Service using Spring Boot with MySQL Database.
Then you will learn to build a React application for managing weather data.
Use Spring MVC to build a web application for managing users and API clients.
And another Spring MVC application for a Weather Forecast website.
Then you will learn to build a sample mobile app that displays embedded weather information, using Android.
Finally, you will learn to build a Java desktop application with Swing, that demonstrates updating weather data from a weather station.
The React app, Weather Forecast website, Android app and Swing app are consumers of the Weather APIs Service.
Key technologies will be used:
You'll learn how to use the following technologies (not all mentioned):
- Back-end technologies: Spring framework, Spring Boot, Spring Data JPA, Spring Data REST, Spring REST Docs, Spring HATEOAS
- Thymeleaf as server-side template engine for Spring MVC application
- FasterXML/jackson Java JSON library
- Security technologies: Spring Security, Spring Security OAuth2, JSON Web Token (JWT) for Java and Android
- Database technologies: MySQL Relational database, Hibernate ORM framework
- Testing technologies: mockito - mocking framework for unit tests, JUnit testing framework
- Redis as caching solution
- Bucket4J as API Rate Limit solution
- REST Clients: React for Single Page Application, Android for mobile app, Java Swing for desktop app
- Front-end technologies: HTML, CSS, Javascript, Bootstrap, jQuery.
Main software programs & tools will be used:
To develop the applications in this course, you will need to use (not all mentioned): Java Development Kit (JDK), Spring Tool Suite IDE, MySQL Community server, MySQL Workbench, curl, Postman, Redis, Docker, Swagger online editor and codegen, Git, Heroku CLI, AWS CLI.
What you will get by finishing this course:
By completing this course, you will get comprehensive REST API expertise in Analysis, Design, Implement, Test, Secure, Deploy & Best Practices. In other words, you master all the techniques involved in REST API development.
You will also get Full-stack development expertise in Backend (Java and Spring), Frontend (React, Javascript, HTML, CSS), Database (MySQL), Deployment (Heroku, AWS), Version Control (Git).
More importantly, when you complete learning this course, I believe you will get Job–ready Skills, such as Technical competence, Self management, Accuracy and Attention to Detail, Professionalism that your employer will love, and Problem Solving skill which is important to succeed in your career.
And finally, you will get a Certificate of Completion issued by Udemy, which is a great thing you can add to your Resume.