Índice
API REST para ranqueamento por voto popular de diversas linguagens de programação. Desenvolvida durante a Imersão Java da Alura.
- a) Aplicar modificações parciais no recurso através do método PATCH, por exemplo, modificando o número de votos ou de pessoas que utilizam cada linguagem de programação.
- b) Devolver a listagem ordenada pelo ranking.
- c) Retornar o status 201 quando um recurso (linguagem, no nosso caso) for cadastrado através do POST.
- d) Finalizar o CRUD (Create, Read, Update e Delete) para que se possa atualizar e excluir uma linguagem cadastrada.
Aplicando regras de segurança de forma básica:
- Método get, put, post, patch e delete (autorização necessária para o CRUD completo de uma linguagem).
- Método get com acesso público
- Método patch (para alteração no rank) com acesso público.
Método | URL | Body |
---|---|---|
GET | https://enzo-linguagens-api.herokuapp.com/api/list | JSON contendo nome, image(url) e rank de todas as linguagens cadastradas. |
POST | https://enzo-linguagens-api.herokuapp.com/linguagens | {"title":"LUA","image":"https://raw.githubusercontent.com/abrahamcalf/programming-languages-logos/master/src/lua/lua_256x256.png","ranking":6} |
PATCH | https://enzo-linguagens-api.herokuapp.com//linguagens/{id} | {"title":"C","image":"https://raw.githubusercontent.com/abrahamcalf/programming-languages-logos/master/src/c/c_256x256.png"} |
DELETE | https://enzo-linguagens-api.herokuapp.com//linguagens/{id} | NO |
PUT | https://enzo-linguagens-api.herokuapp.com//linguagens/{id} | { "title":"C Sharp" } |
PATCH FOR VOTE | https://enzo-linguagens-api.herokuapp.com/api/vote&{title} | NO |
- Java 18
- Spring Framework
- MongoDb
- Maven
Você pode acessar os arquivos do projeto clicando aqui.