
Explore end-to-end api lifecycle from analysis and design to secure deployment and management, with rest api design, swagger open api 3.0 documentation, testing, and security best practices.
Learn to maximize this REST API course by actively using your purchased codes, engaging in lectures, asking questions in Q&A, completing quizzes, and contributing answers and feedback to boost learning.
Explore how application programming interfaces expose method signatures, input parameters, and responses without revealing implementation. Compare rest and soap APIs and see how apps across devices interact with APIs daily.
Learn how SOAP established a standard for distributed web services with an XML envelope, header and body, enabling platform and language independence, while examining its heavyweight drawbacks and testing complexities.
Explore representational state transfer and the six rest constraints—client-server, stateless, cacheable, uniform interface, layered system, and code on demand—and why rest uses lightweight json.
Explore why API management safeguards tens to hundreds of APIs as a product, covering API security, analysis, monitoring, alerting, and documentation for internal and external developers.
Explore how REST identifies and handles resources, and how HTTP methods like post, get, put, and delete drive create, read, update, and delete operations, with standard status codes.
Explain the Richardson maturity model for RESTful APIs, from level 0 (single URI and HTTP method) to level 3 (all three factors: URI, HTTP, and hypermedia).
Design, build, test, and manage a library management system using APIs, focusing on functional and non-functional requirements, API design with Swagger, and Java Spring Boot with Postman testing.
Learn REST API design concepts, including resources and identifiers, uniform interfaces, HTTP verbs, versioning strategies (URI path, headers, or X-version), and robust error handling with standard status codes.
Define and apply rest api design standards for a library system, using versioned endpoints, resources like users, books, authors, publishers, subresources, and supporting search and standard crud operations.
This lecture adds explicit error response codes for each API, detailing 200 success and 400, 404, 500 errors across user, card, and book operations, with updated tables for reference.
Explore how open api (swagger) defines the contract for endpoints, including operations, input and output parameters, authentication, and metadata, with open api 3.0 and swagger ui.
Explore SwaggerHub, the editor for creating and managing API definitions with domains, organizations, teams, and projects. Learn how to publish, share with collaborators, and manage visibility, templates, and notifications.
Explore the open api 3.0.5 structure, including metadata, servers, paths, parameters, request bodies, responses, components schemas, and security schemes, with yaml or json formats.
Explore how to design library APIs with the OpenAPI spec, modeling books, publishers, and users. Define endpoints, parameters, request bodies, and responses using Swagger templates and schemas.
Set up a local Java and Maven environment, create a basic publisher REST API with a Springboard project, implement a publisher controller and model, and test via browser and Postman.
Explore the table design and normalization process for a library API, detailing user, book, author, and publisher tables, plus join tables like user_book and book_author, and book_status.
Install and configure a local MySQL database, start the service, connect with workbench, create a database and user, grant privileges, and run the initialization script to build tables and sequences.
Invite learners to provide immediate reviews and ratings to help improve the course content and presentation, and share comments now to guide ongoing enhancements and reflection on progress.
Explore springboard auto-configuration and starter projects for rapid REST API development, and learn a domain-driven package structure with default and domain packages.
Explore essential Spring Boot annotations for application configuration, components, and REST APIs. Learn how beans, entities, repositories, controllers, and REST mappings connect to the application context.
Explore managing environment-specific properties with application properties in Spring Boot, including predefined and custom properties and value annotations, and implement REST API error handling with controller advice and exception handler.
Why this course
You will find other courses and tutorials on internet which talk about REST APIs in bits and pieces. But you will not find any end-to-end tutorial. That's why I created this course so that I can teach how to execute a REST API project end-to-end. Because its very easy to do a POC and see things in working. But when you start putting lot of different things together you start facing actual problems. And then people start struggling to make things work together.
This course is not a POC course. In this course we learn concepts by doing hands-on real time project, and code it ourselves. This will give a enhanced learning platform on top of the theoretical concepts which I have covered in great detail. I have taken a very easy to understand approach, and I will take you through a flow which will make learning each and every concept very interesting.
I have taken a real world example and I keep on build on top of it in a continuous manner so that you do not loose the connectivity.
This is why my course is different from others!!
Please also note that this course has lot of quizzes and assignments to aid your learning!!
What you will learn
Following are the things we are going to learn in this course:
Analysis and Design of REST APIs
REST API Design best practices like resources, proper use of verbs/HTTP methods, versioning, etc.
Documenting the API Spec with Swagger or Open API Specification (OAS) 3.0
Developing REST APIs using Spring Boot
Writing Unit tests
Writing Integration tests
Handling NFRs like exception handling, logging and tracing requests
Handling complex table relationships like one-to-many and many-to-many in JPA
Learn in-depth theory about JWT
Securing APIs with JWT
Implementing Authentication and Authorization using JWT
Managing APIs using Apigee
Get some knowledge on Git and Github
See Java functional programming in action. Learn to use it in actual project situations
We are going to cover lot of details in this course. So we have lot of theory to learn and lot hands-on exercises to do. I have done live coding in the course you can learn even if you do not have any programming experience with Spring Boot. I have covered Spring Boot basics which will give you a kick start.
So lets get going!!