Esse é o repositório da API T2Sdemo, feito com Spring Initializr.
Existe 2 endpoints que podem ser utilizado para GET e POST:
localhost:8080/containers
localhost:8080/movements
Os mesmos podem ser utilizados para o PATCH e o DELETE, basta adicionar como parâmetro o id na rota:
localhost:8080/containers/23
localhost:8080/movements/23
POST /containers
POST /movements
GET /containers
GET /movements
PATCH /containers/:id
PATCH /movements/:id
DELETE /containers/:id
DELETE /movements/:id
Este é o backend da aplicação T2Sdemo.
“Focada exclusivamente no Setor Portuario.”
- Clonar repositorio
$ git clone https://github.com/jveiiga/T2Sdemo.git
Sobre o Projeto 📺
- Rodando API
É necessário que você encontre o Maven em seu editor de texto, ele vai ter uma estrura de pasta parecida com essa:
> Pasta principal
> ├── 📂 Lifecycle
> │ ├── ⚙️ clean
> │ ├── ⚙️ validate
> │ ├── ⚙️ compile
> │ ├── ⚙️ test
> │ ├── ⚙️ test-compile
> │ ├── ⚙️ package (Ao cliquar aqui, aparecerá um ícone desses ▶️ clique nele para intalar os pacotes de dependências).
> │ ├── ⚙️ verify
> │ ├── ⚙️ install
> │ ├── ⚙️ site
> │ ├── ⚙️ deploy
> ├── 📁 Plugins
> ├── 📁 Dependecies
> ├── 📁 Favorite
> ├── 📁 Profiles
- Após instalar as depêndecias do projeto é necessário encontrar o arquivo ☕️ CardapioApplication.java
> Pasta principal
> ├── 📂 src
> │ ├── 📂 main
> │ └──── 📂 java
> │ └────── 📂 com
> │ └──────── 📂 example
> │ └────────── 📂 T2Sdemo
└── ☕️ T2SdemoApplication.java (Ao cliquar aqui, aparecerá um ícone desses ▶️ no canto direito superior, clique nele e o servidor será inicializado).
-Ps: anexei ao projeto o Insomnia.json que pode ser importado no Insomnia e utilizado, mas sinta-se a vontade para utilizar o de sua prefêrencia.
API CRUD de Contêiners e Movimentos.
baseUrl da API: localhost:8080
POST /containers - FORMATO DA RESPOSTA - STATUS 200 OK
{
"id": 4,
"client": "Shein",
"container_number": "TEST1234567",
"type": 20,
"status": true,
"category": "importação"
}
GET /containers - FORMATO DA RESPOSTA - STATUS 200 OK
[
{
"id": 2,
"client": "Ali Express",
"container_number": "TEST1234567",
"type": 20,
"status": true,
"category": "importação"
},
{
"id": 3,
"client": "Shopee",
"container_number": "TEST1234567",
"type": 20,
"status": true,
"category": "importação"
},
{
"id": 4,
"client": "Shein",
"container_number": "TEST1234567",
"type": 20,
"status": true,
"category": "importação"
}
]
PATCH /containers/:id - FORMATO DA RESPOSTA - STATUS 200 OK
{
"id": 1,
"client": "Shopee",
"container_number": "TEST1234567",
"type": 20,
"status": false,
"category": "importação"
}
DELETE /containers/:id - FORMATO DA RESPOSTA - STATUS 204 NO CONTENT
"No body returned for response"
POST /movements - FORMATO DA RESPOSTA - STATUS 200 OK
{
"id": 4,
"container": {
"id": 3,
"client": "Shopee",
"container_number": "TEST1234567",
"type": 20,
"status": true,
"category": "importação"
},
"movementType": "reposicionamento",
"startTimeDate": "2023-05-31T15:22:21.825",
"endTimeDate": "2023-05-31T15:22:21.825"
}
GET /movements - FORMATO DA RESPOSTA - STATUS 200 OK
[
{
"id": 1,
"containerId": 2,
"movementType": "gate in",
"startTimeDate": "2023-05-31T13:14:25.808",
"endTimeDate": "2023-05-31T13:14:25.808"
},
{
"id": 2,
"containerId": 3,
"movementType": "gate in",
"startTimeDate": "2023-05-31T13:17:29.448",
"endTimeDate": "2023-05-31T13:17:29.448"
},
{
"id": 4,
"containerId": 3,
"movementType": "reposicionamento",
"startTimeDate": "2023-05-31T15:22:21.825",
"endTimeDate": "2023-05-31T15:22:21.825"
}
]
PATCH /movements/:id - FORMATO DA RESPOSTA - STATUS 200 OK
{
"id": 3,
"container": {
"id": 4,
"client": "Shein",
"container_number": "TEST1234567",
"type": 20,
"status": true,
"category": "importação"
},
"movementType": "gate out",
"startTimeDate": "2023-05-31T13:19:37.16",
"endTimeDate": "2023-05-31T13:19:37.16"
}
DELETE /movements/:id - FORMATO DA RESPOSTA - STATUS 204 NO CONTENT
"No body returned for response"