CRUD de livros utilizando Spring Framework.
$ git clone git@github.com:hiroinamine/book-api.git
$ cd book-api
$ docker-compose build
$ docker-compose up
A API estará disponível no endereço http://localhost:8080/
.
-
URL
GET /api/books
-
Parâmetros via query
Atributo Tipo do dado Descrição Obrigatório Valor padrão Exemplo size numérico Quantidade de registros por página não 5 10 page numérico Índice da página não 0 2 sortBy texto Ordena consulta pelo campo não null year -
Retorno
{
"content": [
{
"id": "5e061c453ea2635dc73de561",
"name": "O pequeno príncipe",
"publisher": "Google Books",
"category": "ficção",
"year": 1943
},
{
"id": "5e061df53ea2635dc73de562",
"name": "2001: Uma odisséia no espaço",
"publisher": "Aleph",
"category": "ficção",
"year": 2013
},
{
"id": "5e061e753ea2635dc73de564",
"name": "Pai rico, pai pobre",
"publisher": "Alta Books",
"category": "finanças",
"year": 2017
}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"pageNumber": 0,
"pageSize": 3,
"offset": 0,
"paged": true,
"unpaged": false
},
"totalPages": 2,
"totalElements": 4,
"last": false,
"first": true,
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"number": 0,
"numberOfElements": 3,
"size": 3,
"empty": false
}
-
URL
POST /api/books
-
Corpo
{
"name": "O pequeno principe",
"category": "ficção",
"publisher": "Cia das Letras",
"year": 2009
}
- Retorno
{
"id": "5e061c453ea2635dc73de561",
"name": "O pequeno principe",
"category": "ficção",
"publisher": "Cia das Letras",
"year": 2009
}
-
URL
GET /api/books/{id}
-
Retorno
{
"id": "5e061c453ea2635dc73de561",
"name": "O pequeno principe",
"category": "ficção",
"publisher": "Cia das Letras",
"year": 2009
}
-
URL
PUT /api/books/{id}
-
Corpo
{
"name": "O pequeno príncipe",
"category": "ficção",
"publisher": "Google Books",
"year": 1943
}
- Retorno
{
"id": "5e061c453ea2635dc73de561",
"name": "O pequeno príncipe",
"publisher": "Google Books",
"category": "ficção",
"year": 1943
}
- URL
DELETE /api/books/{id}