Tastypiewebservice API framework for django         http://tastypie.org/                                Vladimír Gorej    ...
Kto som● Vladimír Gorej● backend vývoj aukčného produktu pre  spoločnost CodeScale s.r.o.Technology stack:● python● django...
Django rest frameworky● tastypie vs django-rest-frameworkTastypie +● lepšie spracovaná dokumentácia● sexi API● RESTful Ser...
RESTfulGET - čítaniePOST - vytvorenie nového resourcuPUT - update existujúceho resourcuPATCH - partial updateDELETE - maza...
ResourceResource = kolekcia príbuzných dátClass based resource implementácia● Resource● ModelResourceModelResource = RESTf...
Auth system● AuthenticationVerifikuje o koho ide a validuje jeho prístup kAPI. Viacero implementácii out-of-the-box.● Auth...
Validácia1. Dedením triedy Validation a implementácii   metódy is_valid()2. FormValidation - implementácia validácie dokla...
Serializácia● Serializery riadia to, ako sú data  prezentované consumerovi API● Defaultne k dizpozícii: json, jsonp, xml, ...
Caching, Throttling, Hooks● Možnosť cachovať na strane API● 2 hotové implementácie - NoCache,  SimpleCache (CACHE_BACKEND)...
Putting it all togetherclass UserResource(ModelResource):   class Meta:     queryset = User.objects.all()     resource_nam...
Ďakujem za trpezlivost ;]
Upcoming SlideShare
Loading in...5
×

Tastypie

534

Published on

Presentation about tastypie framework

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
534
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tastypie

  1. 1. Tastypiewebservice API framework for django http://tastypie.org/ Vladimír Gorej CodeScale s.r.o.
  2. 2. Kto som● Vladimír Gorej● backend vývoj aukčného produktu pre spoločnost CodeScale s.r.o.Technology stack:● python● django● postgresql● tastypie framework
  3. 3. Django rest frameworky● tastypie vs django-rest-frameworkTastypie +● lepšie spracovaná dokumentácia● sexi API● RESTful Service Best Practices v 1.1 compliance
  4. 4. RESTfulGET - čítaniePOST - vytvorenie nového resourcuPUT - update existujúceho resourcuPATCH - partial updateDELETE - mazanie resourcovPodpora BULK operácii v jednom requeste.
  5. 5. ResourceResource = kolekcia príbuzných dátClass based resource implementácia● Resource● ModelResourceModelResource = RESTful wrapper nad djangomodelami.
  6. 6. Auth system● AuthenticationVerifikuje o koho ide a validuje jeho prístup kAPI. Viacero implementácii out-of-the-box.● AuthorizationVerifikuje čo môže api consumer s resourcomrobiť. Viacero implementácii out-of-the-box.
  7. 7. Validácia1. Dedením triedy Validation a implementácii metódy is_valid()2. FormValidation - implementácia validácie doklasickej django form
  8. 8. Serializácia● Serializery riadia to, ako sú data prezentované consumerovi API● Defaultne k dizpozícii: json, jsonp, xml, yaml, html, plist● Možnosť jednoduchej implemtácie vlastného formátu● Api consumer si môže sám zvoliť v akom formáte chce/potrebuje komunikovať
  9. 9. Caching, Throttling, Hooks● Možnosť cachovať na strane API● 2 hotové implementácie - NoCache, SimpleCache (CACHE_BACKEND)Throttling = limiting consumerových requestovHooks = možné zasahovať kedykoľvek doprocessingu request/response cyklu, zmenu urlschémy, parent-child resourcy...
  10. 10. Putting it all togetherclass UserResource(ModelResource): class Meta: queryset = User.objects.all() resource_name = auth/users filtering = { email: ALL } excludes = [password] authentication = ApiConsumerAuthentication() authorization = DjangoAuthorization() validation = FormValidation(form_class=MyUserForm) serialize = Serializer([json, xml]) throttle = CacheThrottle(throttle_at=100, timeframe=3600) cache = SimpleCache(timeout=10)
  11. 11. Ďakujem za trpezlivost ;]
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×