RESTful APIs in the Real World Course 1
Offered By: SymfonyCasts
Course Description
Overview
Making RESTful APIs is hard, really hard. There are a lot of concepts to know - resources, representations, HTTP methods, status codes, etc.
And putting this all to life in a sane way in PHP is no small task. In this course, we'll learn all the most fundamental concepts around REST and learn about the "rules" and the advantages and disadvantages of each. And we'll of course build a real API to show it all off. Topics include:
- HTTP basics
- Resources and Representations
- Resource state, client state
- GET, POST, PUT, PATCH, DELETE
- Idemptotency and safe methods
- Proper Status Codes, Location header and Content-Type
- Testing your API
- RFCs and where the "rules" come from
- Advanced error and validation handling
If you want to know about Hypermedia, HATEOAS, Content-Type negotiation, pagination and more, these are not covered here, but are covered in Episode 2.
This tutorial uses Silex and we avoid talking about it as much as possible and instead focus on the core concepts of REST. Once you understand these, you can watch our Symfony REST series to learn how to leverage Symfony for your API.
Syllabus
- The REST API Tutorial
- HTTP Basics
- REST: Resources and Representations
- Transitions and Client State
- Project Routing
- POST: Creation, Location Header and 201
- GET’ing Resources, and Content-Type
- Updating the Location Header
- GET /programmers: A collection of Programmers
- Fixing the Content-Type on POST
- Testing your API with PHPUnit
- Behat for Testing
- Handling Data in Tests
- PUT: Editing Resources
- Debugging Tests
- PUT: Killing Duplicated Code
- GET Representation != POST Representation
- PUT Versus POST
- Deleting Resources
- PATCH: The Other Edit
- Handling Errors
- The application/problem+json Content-Type
- Enforcing Consistency with ApiProblem
- Error in Invalid JSON
- ApiProblemException and Exception Handling
- Handling 404 Errors
- Exposing more Error Details
- What’s Next
Taught by
Ryan Weaver and Leanna Pelham
Related Courses
API Testing a real web application via PostmanCoursera Project Network via Coursera API Testing Using Rest Assured Test Automation Tool
Coursera Project Network via Coursera API Testing Using Rest Sharp (with C#) Test Automation Tool
Coursera Project Network via Coursera API Testing with Karate Framework
Coursera Project Network via Coursera API
Meta via Coursera