API development has become essential in any IT that tends to expand. Good APIs exposed to the right consumers make it possible to centralize processing that would be costly, or even dangerous, to repeat in each of the elements making up your IS.
However, API development comes with its share of organizational and technical challenges, which must be taken into account as soon as possible in order to be able to provide a reliable, resilient solution that is open to evolution. Many deviations are common and learning to avoid them helps secure the solution and reduce its cost.
TRAINING DEVELOPING AN API WITH API PLATFORM
- Developers, Lead developers
- Basic understanding of Symfony and PHP language
TRAINING DEVELOP AN API WITH API PLATFORM : GOALS
- Provide all the necessary tools and avenues for reflection to participants so that they can quickly implement efficient and robust APIs.
TRAINING DEVELOPING AN API WITH API PLATFORM: THE PROGRAM
DAY 1
General reminders about APIs
Objective: Start from a common understanding of APIs
- What is a Web API?
- HTTP standards
- The REST standard
- Swagger and OpenAPI
- The Basics of API Versioning
- Understand your consumers
- Using Postman (or similar tool)
Setting up a Rest API with API Platform
Objective: See the fundamentals of API Platform and build an application from scratch around this tool.
Installation
- Create a Symfony project with API Platform
- Set up a Microsoft Sql database
Create my first API
- Set up a book list that can be interacted with
- Set displayable data
- Validate the data
- Add the concept of category to our books
- Sort, filter and paginate our results
To learn more
- Add custom operations
- Manipulate generated Open API documentation
DAY 2
Securing our API
Objective: Learn how to set up different systems to protect our new API, whether the source of the danger is a tired team member or external users.
Test our API
- Create test datasets
- Setting up Functional Tests with Php Unit
- Setting up Unit Tests with Php Unit
Set up authentication
- Discover the Security component of Symfony
- Force client authentication via JWT
To go further with the authenticated user
- Inject user when adding or editing a 'book'
- Retrieve user-created books
- Limit exposed fields based on user
Securing beyond API Platform
- SQL Injections
- Restricting network access
DAY 3
To learn more
Objective: Measure and improve the performance of your API and ensure its robustness over time. Go beyond the API Platform and use it as a tool rather than the core of our API.
Optimizing performance
- Important metrics and how to read them
- Set up a cache and avoid eager loading
- Use performance monitoring and testing tools (Blackfire, K6 or Gatling)
- Other points of attention
Decentralize the use of API Platform
- Retrieve books via a DataProvider
- Add books via a DataPersister
- Use Plaftorm API in a clean archi context
Ensure the maintenance of your API
- The tools and reflexes to have to debug problems in production
- Monitor the functioning of your API: uptime and functional logs
TRAINING DEVELOP AN API WITH API PLATFORM : THE DURATION
Two day training
Practical information : Our computer training courses are maintained from one participant and they can be carried out with us or with you.
To discover our other courses, click here