Skip to content

enzogms/language-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

drawing
API Language


Ver demonstração

Índice
  1. Descrição do projeto
  2. Desafios cumpridos
  3. Funcionalidades
  4. Exemplo de uso
  5. Endpoints
  6. Técnicas e tecnologias utilizadas
  7. Acesso ao projeto
  8. Agradecimentos

Descrição do projeto

API REST para ranqueamento por voto popular de diversas linguagens de programação. Desenvolvida durante a Imersão Java da Alura.

😋 Desafios realizados durante a imersão dev

  • 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.

⚙️ Funcionalidades

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.

🔨 Exemplo de uso

Ver demonstração

📥 Endpoints

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

✔️ Técnicas e tecnologias utilizadas

  • Java 18
  • Spring Framework
  • MongoDb
  • Maven

📁 Acesso ao projeto

Você pode acessar os arquivos do projeto clicando aqui.

🙏🏻 Agradecimentos