rest (ou não)

Post on 12-Apr-2017

224 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

REST (ou não)

Natã Barbosa

REpresentational State Transfer

Representação do estado de um recurso.

Stateless: O servidor apenas recebe as informações necessárias para retornar a representação, não precisa conhecer o cliente.

Utilize (quase sempre) substantivos, não verbos.

/carros/revendedoras

/listaCarros/gravaRevendedora

E a associação entre recursos, como fica?

/revendedoras/153/carros

/carros/revendedora/153

2 URLs por recurso, com substantivos.

URL POST GET PUT DELETE

/carros Adiciona um carro à coleção de carros

Retorna a coleção de carros

Atualiza carros em lote

Apaga todos os carros

/carro/25 Retorna erro Retorna o carro com ID 25

Atualiza o carro com ID 25, se existir.

Se não existir, retorna erro

Apaga o carro com ID 25

Para variações através de atributos, como faz?

/carros?cor=azul&ano=2010

/carros/cor/azul/ano/2010

Para cálculos, transações ou outras operações?

/converter?de=F&para=C&valor=50

Cálculos

/busca?q=ford+focus

Busca

/carros/count

Contagem

E quando algo der errado?

Retornar HTTP Status Codes:200 – OK

401– Unauthorized

{ “code”: 200, “message”: “Você solicitou um relacionamento que não existe.” }

{ “code”: 401, “message”: “Você precisa estar autenticado para solicitar esta informação, campeão.” }

E segurança?

oAuth2

Uma implementação semelhante a esta, pode ser chamada de API REST?

Vamos ver na prática.

Client (Application) Server (REST API + Authentication Server)

Database Server(Oracle Developer VM)

JSON

OCI Library + node-oracle

É isso. Perguntas?

top related