Sylius & API Platform: the story of integration
summary
Integration pairs Sylius business core with API Platform as infrastructure using Symfony Messenger and a command+handler pattern so API requests become validated, transactional commands. Handlers never read session/request state; commands carry raw identifiers (order token, product_variant_code) to allow deferred execution and avoid serializing objects. Added command enrichments to inject current user/channel/order before dispatch. Migration notes: experimental breaking changes tracked; shop API migration can be done route-by-route. Testing uses Behat for 1,500+ scenarios (≈17k → 22k steps) and PHPUnit for API contract checks, covering ~80% of shop features.
AI-written summary · about
chapters (9)
- 0:00Introduction to integration
- 2:26Goals of the integration
- 3:30Application architecture approach
- 7:22Command pattern implementation
- 13:22API design and IRI usage
- 19:42Data modeling principles
- 24:40Testing architecture with BDD
- 32:22API contract testing
- 33:26Conclusion and Q&A
related talks
39mAPI Platform — A Daily Tool for (Un)usual Tasks
27mThe API Design Strategy You Need for Growth
41mBuilding first-class REST APIs with Symfony
39mQ&A session
39mBuilding RESTful APIs with Symfony Components
39mapi-platform
01h 01mESB, iPaaS, API Management, Microservices...
26mMastering API Platforms for Enhanced Payment Integration
