Minha implementação do teste prático do programa GoDev da Senior. Jdk: 17 e Banco de dados PostgreSQL.
Na atividade utilizei além das tecnologias solicitadas o Lombok e DevTools.
Setup para funcionamento:
O servidor tomcat vai utilizar a porta 8080.
A aplicação está configurada para conectar em um banco de dados com nome: dbgodev na porta 5432, url da conexão: jdbc:postgresql://localhost:5432/dbgodev nome de usuário e senha do banco: postgres
Para manipulação de itens ---------------------------------------------
http://localhost:8080/api/items
GET -> retorna uma lista todos os itens cadastrador.
POST -> efetua a criação de um item e retorna o mesmo,
no corpo da requisição deve conter: descrição, valor e tipo (P ou S)
http://localhost:8080/api/items/{itemId}
GET -> retorna o item do id presente na url.
DELETE -> deleta o item da base de dados.
PUT -> altera o item na base de dados, o corpo da requisição deve conter:
id do item, descrição, valor e tipo (P ou S)
Para manipulação de pedidos ---------------------------------------------
http://localhost:8080/api/orders
GET -> retorna uma lista todos os pedidos cadastrador.
POST -> efetua a criação de um pedido e retorna o mesmo,
no corpo da requisição deve conter: numero do pedido, data (em formato dd/mm/yyyy) e percentual de desconto.
http://localhost:8080/api/orders/{ordersId}
GET -> retorna o pedido do id presente na url.
DELETE -> deleta o pedido da base de dados.
PUT -> altera o pedido na base de dados, o corpo da requisição deve conter:
id do pedido, numero, data (em formato dd/mm/yyyy) e percentual de desconto.
Para manipulação de itens de pedidos ---------------------------------------------
http://localhost:8080/api/orders/{ordersId}/items
GET -> retorna uma lista com todos itens cadastrados para o pedido (id presente na url).
POST -> efetua a inclusão de um item para o pedido (id presente na url) e retorna o mesmo,
no corpo da requisição deve conter: id do item a ser adicionado e quantidade.
http://localhost:8080/api/orders/{ordersId}/items/{IditemdoPedido}
GET -> retorna o item de pedido que está vinculado a esse pedido.
DELETE -> remove o item de pedido do pedido.
PUT -> altera o item de pedido que está vinculado a esse pedido, o corpo da requisição deve conter:
id do item a ser adicionado e quantidade.
Fechamento do pedido ---------------------------------------------
http://localhost:8080/api/orders/{ordersId}/close
GET -> retorna os dados do pedido com a lista de itens e desconto aplicado sobre produtos,
caso o desconto tenha sido informado na criação do pedido.
POST -> aplica um novo desconto sobre os produtos e retorna os dados do pedido,
o corpo da requisição deve conter: id do pedido e novo percentual de desconto.