37
Arquitetura REST & Front-End SimplesDental

REST e FRONT END

Embed Size (px)

Citation preview

Page 1: REST e FRONT END

Arquitetura REST &

Front-End

SimplesDental

Page 2: REST e FRONT END

SimplesDental

Page 3: REST e FRONT END

10Mil+Clinicas cadastradas

1Mil+Clinicas ativas todos os dias

Page 4: REST e FRONT END
Page 5: REST e FRONT END

Luiz H. Estácio

Lucas Carlessi

[email protected]

[email protected]

Page 6: REST e FRONT END

O que é REST?

Page 7: REST e FRONT END

• Client-Server

• Stateless

• Cache

• Layered System

• Uniform Interface

REST

Page 8: REST e FRONT END

Client-Server

Page 9: REST e FRONT END

Stateless

Page 10: REST e FRONT END

Cache

Page 11: REST e FRONT END

Layered System

Page 12: REST e FRONT END

Uniform Interface• Identificação de recursos

• Representações de recursos

• Respostas auto-explicativas

• Hypermedia

Page 13: REST e FRONT END

URI

Cada recurso deve possuir uma URI específica e coesa.

Page 14: REST e FRONT END

Uma aplicação RESTful trata os verbos de uma requisição, tornando uma URI mais expressiva.

URI - Verbos

POST, GET, PUT, DELETE, OPTIONS e HEAD

Page 15: REST e FRONT END

OPTIONS

Access-Control-Allow-Headers:Origin, X-Requested-With, Content-Type, Accept, Referer, User-Agent, X-AUTH-TOKEN Access-Control-Allow-Methods:POST, GET, PUT, DELETE, OPTIONS Access-Control-Allow-Origin:* Allow:* Content-Length:0

OPTIONS http://app.simplesdental.com/pacientes

URI

Response

Page 16: REST e FRONT END

POST

{ "id": “1234",

"nome": “Luiz Henrique Estácio”, “telefones”: ["489911499"]

}

POST http://app.simplesdental.com/pacientes {

"nome": “Luiz Henrique Estácio”, “telefones”: ["489911499"]

}

URI

Response

Page 17: REST e FRONT END

GET

[ { "id": “1233",

"nome": "Lucas Carlessi", “telefones”: ["489900000"]

}, { "id": “1234",

"nome": “Luiz Henrique Estácio”, “telefones”: ["489911499"]

} ]

GET http://app.simplesdental.com/pacientesURI

Response

Page 18: REST e FRONT END

GET

{ "id": “1234", "nome": “Luiz Henrique Estácio”, “telefones”: [“489911499”]

}

GET http://app.simplesdental.com/pacientes/1234URI

Response

Page 19: REST e FRONT END

PUT

{ "id": “1234",

"nome": “Luiz Henrique Estácio Cândido”, “telefones”: ["489911499"]

}

PUT http://app.simplesdental.com/pacientes/1234 {

"nome": “Luiz Henrique Estácio Cândido” }

URI

Response

Page 20: REST e FRONT END

DELETE

Status Code: 200 OK

DELETE http://app.simplesdental.com/pacientes/123

URI

Response

Page 21: REST e FRONT END

Common Status Codes• 200 - Success

• 400 - Bad Request

• 401 - Unauthorized

• 404 - Not found

Page 22: REST e FRONT END

Richardson Maturity Model

RESTful

Page 23: REST e FRONT END
Page 24: REST e FRONT END

O que precisamos conhecer?

Page 25: REST e FRONT END

Documentação

Page 26: REST e FRONT END

SPA

Page 27: REST e FRONT END

SPA?

Page 28: REST e FRONT END

Single Page Application

Page 29: REST e FRONT END

GET https://api.simplesdental.com/recebimentos

Page 30: REST e FRONT END

GET https://api.simplesdental.com/recebimentos/122

Page 31: REST e FRONT END
Page 32: REST e FRONT END

PUT https://api.simplesdental.com/recebimentos/122

Page 33: REST e FRONT END

PUT https://api.simplesdental.com/recebimentos/123/pagar

Page 34: REST e FRONT END

POST https://api.simplesdental.com/recebimentos

Page 35: REST e FRONT END

Spring-Data JPA

Jackson JSON Jackson Datatype Hibernate

Page 36: REST e FRONT END
Page 37: REST e FRONT END

SimplesDental