Your SlideShare is downloading. ×
0
REST APIs com Django
REST APIs com Django
REST APIs com Django
REST APIs com Django
REST APIs com Django
REST APIs com Django
REST APIs com Django
REST APIs com Django
REST APIs com Django
REST APIs com Django
REST APIs com Django
REST APIs com Django
REST APIs com Django
REST APIs com Django
REST APIs com Django
REST APIs com Django
REST APIs com Django
REST APIs com Django
REST APIs com Django
REST APIs com Django
REST APIs com Django
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

REST APIs com Django

3,553

Published on

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
3,553
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
35
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Você precisa acessar informações de um servidor de terceiros. Ao invés de acoesso direto ao banco de dados, ele pode liberar uma API para tornar seu trabalho mais simples e o dele mais seguro.
  • Isso não é novo. Há muito tempo já se faz algo do tipo. O problema é que para manter a fluidez da web, isso devia ser feito de forma mais simples.
  • Desenvolvido pela Microsoft Formato XML é mais simples do que mensagens binárias usadas no CORBA, por exemplo.
  • Envia um XML dizendo o que quer, o servidor executa a ação solicitada e retorna outro XML com a resposta.
  • Você vai fazer uma API com REST
  • A resposta pode ser em vários formatos. import urllib2 r=urllib2.urlopen('http://api.twitter.com/1/trends.json').read() import json tt = json.loads(r) for t in tt['trends']: print “%s -> %s” % (t['name'], t['url'])
  • class PollsResource(View): # GET /rest/polls/ def get(self, request): # Pega todas as enquetes polls = Poll.objects.all() # Retorna uma lista de enquetes (dicionario contendo id, pergunta e url da API para ver mais dados sobre a enquete) return [{'id': p.id, 'question': (p.question), 'pub_date': str(p.pub_date), 'url': reverse('poll-resource', args=(p.id,))} for p in polls]
  • Transcript

    • 1. REST APIs com Django Mailson Lira mailson.net [email_address] XIV Encontro do PUG-PE
    • 2. Quem sou eu <ul>Aluno do sexto período de Ciência da Computação da UFPE com interesse em desenvolvimento web. </ul>
    • 3. Web Service
    • 4. Web Service
    • 5. Web Service <ul><li>Não tem problemas com firewall
    • 6. Nível baixo de complexidade </li></ul>
    • 7. SOAP <ul><li>Bastante usado na “Web 1.0”
    • 8. Aproveita protocolos já existentes (HTTP, SMTP)
    • 9. Mensagens no formato XML </li></ul>
    • 10. SOAP
    • 11. REST <ul><li>Para alguns, SOAP passou a ser complicado demais
    • 12. REST não é um protocolo. Não existe um padrão definido
    • 13. A requisição pode estar somente na URL </li></ul>
    • 14. Pra que serve? <ul><li>Desenvolvimento de APIs
    • 15. Distribuição de conteúdo </li></ul>
    • 16. Quem usa? <ul><li>Twitter
    • 17. Flickr
    • 18. LinkedIn
    • 19. Yahoo!
    • 20. Amazon
    • 21. Youtube </li></ul>
    • 22. REST vs. SOAP <ul><li>REST não é um protocolo
    • 23. Conjunto de princípios </li></ul>
    • 24. REST vs. SOAP Requisitando os Trending Topics do Twitter no caso de uma API SOAP. A resposta seria obrigatoriamente outro XML.
    • 25. REST <ul>Requisitando os Trending Topics do jeito REST </ul>http://api.twitter.com/1/trends.json
    • 26. REST <ul><li>Facilidade de usar </li><ul><li>Praticamente não é necessário o uso de bibliotecas </li></ul><li>Aproveita os métodos do HTTP </li><ul><li>GET, POST, PUT, DELETE </li></ul></ul>
    • 27. REST <ul><li>Exemplos com Django REST Framework </li></ul>
    • 28. GET /rest/polls/ views.py urls.py urls.py
    • 29. GET /rest/polls/ID urls.py views.py
    • 30. PUT /rest/choices/ID urls.py views.py
    • 31. POST /rest/polls/ views.py
    • 32. DELETE /rest/polls/ID views.py
    • 33. Veja mais <ul><li>Django REST Framework </li><ul><li>http://django-rest-framework.org/ </li></ul><li>Introdução a Django em 4 partes </li><ul><li>https://docs.djangoproject.com/en/1.3/intro/tutorial01/
    • 34. http://docs.djangobrasil.org/intro/tutorial01.html (em português) </li></ul><li>Tutorial de REST </li><ul><li>http://rest.elkstein.org/ </li></ul><li>Entenda melhor sobre REST </li><ul><li>http://jacobian.org/writing/rest-worst-practices/
    • 35. http://blog.steveklabnik.com/2011/07/03/nobody-understands-rest-or-http.html </li></ul></ul>

    ×