API REST com Spring Boot
Bruno Coan
Desenvolvedor Java
Desenvolver uma loja virtual
● Web
● Aplicativos Mobile (android / IOS)
● Sistemas de terceiros
REST
REpresentational State Transfer
● Uso de URL's;
● Uso dos métodos HTTP;
● Uso de códigos de status http para sucessos
ou falhas;
● Uso de cabeçalhos HTTP.
Recurso
Recurso
http://localhost:8080/products
[
{
"id": 1,
"name": "Notebook"
},
{
"id": 2,
"name": "TV de lcd"
}
]
Recurso
http://localhost:8080/products/1
{
"id": 1,
"name": "Notebook"
}
http://locahost:8080/products/1/reviews
Métodos HTTP
GET - Recupera dados de um recurso;
POST - Cria um novo recurso;
PUT - Atualiza um recurso;
DELETE - Apaga um recurso.
Media Types
Como eu desejo ver a informação?
Accept:application/xml
http://localhost:8080/products/1
<id>1</id>
<name>Notebook</name>
HTTP Status Codes
HTTP status Codes
● 2xx - status de sucesso
○ 200 ok
○ 201 created
○ 204 no content
● 3xx - status de redirecionamento
○ 301 Moved Permanently
● 4xx status de erro no cliente
○ 400 bad request
○ 404 not found
○ 409 conflict
● 5xx status de erro no servidor
○ 500 internal server error
Quem usa?
Facebook
Google
Twitter
Spring Boot
Spring Boot
● Embed TomCat, sem necessidade de fazer
deploy de .war;
● 'starter' POMs para simplificar
configurações;
● Máximo possível de configurações
automáticas;
● Funcionalidades de métricas e health check.
Hands On
https://github.com/Bcoan/Spring-Boot-Sample

Spring boot