REST aplikazioak

Aitzol Naberan

  • anaberan@codesyntax.com
  • @aitzol
    • Twitter
    • Github
    • Bitbucket
  • Informatika Ingeniaria EHU
  • CodeSyntax

CodeSyntax

REST

  • Representational State Transfer
  • HTTP
  • Baliabideak
  • Eragiketak
  • GET /erabiltzaileak/aitzol
  • POST /erabiltzaileak/
  • UPDATE /erabiltzaileak/aitzol
  • DELETE /erabiltzaileak/aitzol

Erabilpenak

Web aplikazioak

Datuak integratu

Zerbitzaritan

  • Sinkronizaziorako
  • Datu berriak eskuratzeko/eguneratzko

Sistema kudeaketan

  • Azpiegituren kudeaketa
  • Automatizazioa

Aplikazio mugikorrak

Kasu praktikoak

Tribual

iOS

Mugikaria

iOS

Euskalkitegia

iOS

Erronkak

Autentikazioa

Auth needs to be pluggable

JacobĀ  Kaplan-Moss

from rest_framework.authtoken.models import Token

token = Token.objects.create(user=...)
print token.key
# HTTP header
Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b

DRF autentikazioak

  • BasicAuthentication
  • TokenAuthentication
  • SessionAuthentication

+

  • DigestAuthentication
  • JSON Web Token Authentication
  • HTTP Signature Authentication

Sinkronizazioa

Kodearen bertsio kontrola

@api_view(['GET'])
def checkversion(request):
    version_status = True
    if request.method == 'GET':
        version = request.GET.get('version')
        try:
            int_version = int(version.replace('.', ''))
        except:
            version = None
        if version:
            min_version = ControlPanel.get_minimal_version()
            version_status = int_version >= min_version
    return Response({'status': version_status}, status=status.HTTP_200_OK)

Eleaniztasuna

Gomendio batzuk

  • APIaren eragiketak ahal denik azkarren diseinatu
  • Frameworken bat erabil
    • Framekora ondo aztertu
  • Segurtasuna buruan izan (https behintzat...)

Galderarik?

REST based applications

By aitzol

REST based applications

  • 1,709