REST e FRONT END
-
Upload
luiz-henrique-estacio -
Category
Software
-
view
89 -
download
0
Transcript of REST e FRONT END
![Page 1: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/1.jpg)
Arquitetura REST &
Front-End
SimplesDental
![Page 2: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/2.jpg)
SimplesDental
![Page 3: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/3.jpg)
10Mil+Clinicas cadastradas
1Mil+Clinicas ativas todos os dias
![Page 4: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/4.jpg)
![Page 6: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/6.jpg)
O que é REST?
![Page 7: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/7.jpg)
• Client-Server
• Stateless
• Cache
• Layered System
• Uniform Interface
REST
![Page 8: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/8.jpg)
Client-Server
![Page 9: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/9.jpg)
Stateless
![Page 10: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/10.jpg)
Cache
![Page 11: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/11.jpg)
Layered System
![Page 12: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/12.jpg)
Uniform Interface• Identificação de recursos
• Representações de recursos
• Respostas auto-explicativas
• Hypermedia
![Page 13: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/13.jpg)
URI
Cada recurso deve possuir uma URI específica e coesa.
![Page 14: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/14.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/15.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/16.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/17.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/18.jpg)
GET
{ "id": “1234", "nome": “Luiz Henrique Estácio”, “telefones”: [“489911499”]
}
GET http://app.simplesdental.com/pacientes/1234URI
Response
![Page 19: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/19.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/20.jpg)
DELETE
Status Code: 200 OK
DELETE http://app.simplesdental.com/pacientes/123
URI
Response
![Page 21: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/21.jpg)
Common Status Codes• 200 - Success
• 400 - Bad Request
• 401 - Unauthorized
• 404 - Not found
![Page 22: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/22.jpg)
Richardson Maturity Model
RESTful
![Page 23: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/23.jpg)
![Page 24: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/24.jpg)
O que precisamos conhecer?
![Page 25: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/25.jpg)
Documentação
![Page 26: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/26.jpg)
SPA
![Page 27: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/27.jpg)
SPA?
![Page 28: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/28.jpg)
Single Page Application
![Page 29: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/29.jpg)
GET https://api.simplesdental.com/recebimentos
![Page 30: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/30.jpg)
GET https://api.simplesdental.com/recebimentos/122
![Page 31: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/31.jpg)
![Page 32: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/32.jpg)
PUT https://api.simplesdental.com/recebimentos/122
![Page 33: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/33.jpg)
PUT https://api.simplesdental.com/recebimentos/123/pagar
![Page 34: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/34.jpg)
POST https://api.simplesdental.com/recebimentos
![Page 35: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/35.jpg)
Spring-Data JPA
Jackson JSON Jackson Datatype Hibernate
![Page 36: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/36.jpg)
![Page 37: REST e FRONT END](https://reader034.fdocuments.in/reader034/viewer/2022051315/55c295ebbb61eb54128b4664/html5/thumbnails/37.jpg)
SimplesDental