Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rapid REST API Development with Symfony
Search
Pawel Jedrzejewski
October 31, 2015
Technology
2
600
Rapid REST API Development with Symfony
Combining multiple tools from Symfony community to create a REST API in minutes.
Pawel Jedrzejewski
October 31, 2015
Tweet
Share
More Decks by Pawel Jedrzejewski
See All by Pawel Jedrzejewski
5 Years with Symfony
pjedrzejewski
0
330
Sylius - Decoupled eCommerce Platform
pjedrzejewski
0
360
You Should Be An Open Source Developer
pjedrzejewski
2
450
Monetyzacja oprogramowania Open Source
pjedrzejewski
0
150
Sylius - E-Commerce for Symfony2
pjedrzejewski
2
1.3k
Pierwsze kroki z Sylius E-Commerce
pjedrzejewski
0
1.4k
Sylius - E-Commerce for Symfony Developers
pjedrzejewski
4
710
Getting started with Sylius
pjedrzejewski
0
280
BDD in Open Source
pjedrzejewski
3
310
Other Decks in Technology
See All in Technology
[2024年10月版] Notebook 2.0のご紹介 / Notebook2.0
databricksjapan
0
1.6k
生成AIを活用した機能を、顧客に提供するまでに乗り越えた『4つの壁』
toshiblues
1
210
NOSTR, réseau social et espace de liberté décentralisé
rlifchitz
0
130
extensionとschema
yahonda
1
100
Agentic AI時代のプロダクトマネジメントことはじめ〜仮説検証編〜
masakazu178
3
390
【Λ(らむだ)】アップデート機能振り返りΛ編 / PADjp20250127
lambda
0
120
[TechNight #86] Oracle GoldenGate - 23ai 最新情報&プロジェクトからの学び
oracle4engineer
PRO
1
170
EDRからERM: PFN-SIRTが関わるセキュリティとリスクへの取り組み
pfn
PRO
0
110
srekaigi2025-hajimete-ippo-aws
masakichieng
0
240
マルチデータプロダクト開発・運用に耐えるためのデータ組織・アーキテクチャの遷移
mtpooh
0
100
Server Side Swift 実践レポート: 2024年に案件で採用して見えた課題と可能性
yusuga
1
420
サービスローンチを成功させろ! 〜SREが教える30日間の攻略ガイド〜
mmmatsuda
2
4.4k
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
222
9.2k
Practical Orchestrator
shlominoach
186
10k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
990
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
How to train your dragon (web standard)
notwaldorf
89
5.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
19k
Typedesign – Prime Four
hannesfritz
40
2.5k
Building Adaptive Systems
keathley
39
2.4k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Transcript
None
Paweł Jędrzejewski I really like Open Source I created Sylius
I co-founded Lakion I help organize PHPers Łódź
@pjedrzejewski What does it mean to be rapid? ?
@pjedrzejewski rapid - [rap-id] - adjec7ve Moving, acGng, or occurring
with great speed.
@pjedrzejewski Every startup needs an MVP.
*Minimum Viable Product
@pjedrzejewski Many of them are unpleasantly surprised with the fact
that they need to maintain it aLer going live.
When you need to do a significant change in your
„prototype”.
None
@pjedrzejewski Time Value delivered This is not rapid.
@pjedrzejewski Time Value delivered This is rapid.
@pjedrzejewski Long-term flexibility over short-term graGficaGon from saGsfying the management
or the investors.
@pjedrzejewski What is an API? ?
@pjedrzejewski ApplicaGon Programming Interface
@pjedrzejewski SoLware-to-SoLware interfaces
Machines talking to machines… You have been warned.
Why do we need APIs? @pjedrzejewski User Your app Amazon
UI API
Why do we need APIs? @pjedrzejewski • Sharing data and
avoiding duplicaGon • Decoupling funcGonality (SRP, SeparaGon of Concerns etc.) • Allowing other people to consume our service
@pjedrzejewski What kind of APIs are out there? ?
@pjedrzejewski GET /createNewChargeV2 CrappyAPI „I\ don\’t\ want\ 2\ do\ this”!UserID:1!250!USD!
[email protected]
# With the following data sent:
@pjedrzejewski POST / HTTP/1.1 Host: xyz.com Content-Type: applicaGon/soap+xml; charset=uo-8 <?xml
version=„1.0” ?> <soap:Envelope …> <m:GetUserDetails> <m:UserID>41</m:UserID> </m:GetUserDetails> </soap:Envelope> SOAP
@pjedrzejewski GET /users/41 HTTP/1.1 Host: xyz.com Accept: applicaGon/json REST
@pjedrzejewski That being said, „REST or SOAP?” is a wrong
quesGon.
@pjedrzejewski REST is not a protocol. It is an architectural
style.
REST API Principles @pjedrzejewski Client-server architecture Stateless Cacheable Based on
standards (HTTP, URL, XML, JSON) Independent from the plaoorm and language
The Richardson Maturity Model @pjedrzejewski Level 0: Swamp of POX
Level 1: Resources Level 2: HTTP Verbs Level 3: Hypermedia Controls
Install LIONFRAME $ composer create-project lakion/lionframe @pjedrzejewski @pjedrzejewski
@pjedrzejewski DEMO
How?
@pjedrzejewski @pjedrzejewski
@pjedrzejewski @pjedrzejewski
Bundles, Bundles, Bundles @pjedrzejewski FOSRestBundle JMSSerializerBundle BazingaHateoasBundle SyliusResourceBundle
@pjedrzejewski It can be plugged into an exisGng Symfony app.
Use case: Sylius E-Commerce API Sylius API Mobile API @pjedrzejewski
User API
Extras! @pjedrzejewski FOSOAuthServerBundle FOSHzpCacheBundle SyliusRbacBundle
lakion.com/lionframe
DOCS.sylius.org - Sylius Resource Bundle
@pjedrzejewski @Sylius @Lakion pjedrzejewski.com sylius.org lakion.com THANK YOU!