Projeto realizado no final do módulo de Java fornecido pela Trybe, concluído em Outubro de 2023. Trata-se de uma api responsável por gerenciar fazendas, usando o framework Spring do Java.
Obs: Caso opte por fazer o download e instalação do projeto, você poderá observar os endpoints com mais detalhe
no link: http://localhost:8080/swagger-ui/index.html/
/auth/login
- Utiliza o método POST, realiza o login de usuário existente no banco de dados.
- Caso a requisição seja feita corretamente, retorna um objeto com um token de autorização, com o status http
200
. O token será necessário em outras requisições. - Caso usuário e/ou senha estejam incorretos, retorna uma mensagem de erro, com o status hhtp
403
. - O corpo da requisição deve obedecer o seguinte formato:
{
"username": "string",
"password": "string"
}
/persons
- utiliza o método POST, adiciona uma pessoa usuária ao banco de dados.
- Caso a requisição seja feita corretamente, retorna um status http
201
com um objeto contendo as informações do usuário criado. - O corpo da requisição deve obedecer o seguinte formato:
{
"username": "string",
"password": "string",
"role": "string"
}
/farms
-
Utilizando o método GET:
- Lista as fazendas presentes no banco de dados. Necessário token de autorização para efetuar a operação e usuário com
role
ADMIN ou MANAGER. - Em caso de sucesso, retorna status http
200
junto de uma lista de fazendas presentes no banco de dados. - Caso o usuário não possua a autorização necessária ou caso a mesma esteja inválida, retorna uma mensagem de erro com o status http
403
.
- Lista as fazendas presentes no banco de dados. Necessário token de autorização para efetuar a operação e usuário com
-
Utilizando o método POST:
- Adiciona uma fazenda ao banco de dados. Necessário token de autorização para efetuar a operação.
- Em caso de sucesso, retorna o status http
201
e um objeto com os dados da fazenda adicionada ao banco de dados. - Caso o usuário não possua a autorização necessária ou caso a mesma esteja inválida, retorna uma mensagem de erro com o status http
403
. - o corpo da requisição deve obedecer o seguinte formato:
{
"name": "string",
"size": 0
}
/farms/{farmId}/crops
-
Utilizando o método GET:
- Lista as plantações da fazenda indicada pelo id. Necessário token de autorização para efetuar a operação.
- Em caso de sucesso, retorna o status http
200
e uma lista de objetos com os dados das plantações da fazenda. - Caso o usuário não possua a autorização necessária ou caso a mesma esteja inválida, retorna uma mensagem de erro com o status http
403
. - Se não for encontrado uma fazenda com o id especificado, retorna uma mensagem de erro com um status http
404
.
-
Utilizando o método POST:
- Adiciona uma plantação, presente no corpo da requisição, à fazenda indicada pelo id. Necessário token de autorização para efetuar a operação.
- Em caso de sucesso, retorna o status http
201
e o objeto contendo os dados da operação realizada. - Caso o usuário não possua a autorização necessária ou caso a mesma esteja inválida, retorna uma mensagem de erro com o status http
403
. - Se não for encontrado uma fazenda com o id especificado, retorna uma mensagem de erro com um status http
404
. - o corpo da requisição deve obedecer o seguinte formato:
{
"id": 0,
"name": "string",
"plantedArea": 0,
"plantedDate": "2024-08-09",
"harvestDate": "2024-08-09"
}
/farms/{id}
- Utiliza o método GET, retorna a fazenda especificada pelo id (caso exista). Necessário token de autorização para efetuar a operação.
- Em caso de sucesso, retorna o status http
200
com um objeto contendo os dados da fazenda. - Caso o usuário não possua a autorização necessária ou caso a mesma esteja inválida, retorna uma mensagem de erro com o status http
403
. - Se não for encontrado uma fazenda com o id especificado, retorna uma mensagem de erro com um status http
404
.
/crops
- Utiliza o método GET, Lista as plantações presentes no banco de dados. Necessário token de autorização para efetuar a operação e usuário com role ADMIN ou MANAGER.
- Em caso de sucesso, retorna o status http
200
com uma lista de objetos contendo os dados das plantações. - Caso o usuário não possua a autorização necessária ou caso a mesma esteja inválida, retorna uma mensagem de erro com o status http
403
.
/crops/{id}
- Utiliza o método GET, retorna a plantação indicada pelo id (Caso exista). Necessário token de autorização para efetuar a operação.
- Em caso de sucesso, retorna o status http
200
com um objeto contendo os dados das plantação. - Caso o usuário não possua a autorização necessária ou caso a mesma esteja inválida, retorna uma mensagem de erro com o status http
403
. - Se não for encontrado uma plantação com o id especificado, retorna uma mensagem de erro com um status http
404
.
/crops/search
- Utiliza o método GET, Lista as plantações que estão com o campo
HarvestDate
entre as datas especificadas. Necessário token de autorização para efetuar a operação. - Em caso de sucesso, retorna o status http
200
com uma lista de objetos contendo os dados das plantações. - Caso o usuário não possua a autorização necessária ou caso a mesma esteja inválida, retorna uma mensagem de erro com o status http
403
.
/crops/{cropId}/fertilizers
- Utiliza o método GET, Lista os fertilizantes da plantação indicada pelo id. Necessário token de autorização para efetuar a operação.
- Em caso de sucesso, retorna o status http
200
com uma lista de objetos contendo os dados dos fertilizantes da plantação indicada. - Caso o usuário não possua a autorização necessária ou caso a mesma esteja inválida, retorna uma mensagem de erro com o status http
403
. - Se não for encontrado uma plantação com o id especificado, retorna uma mensagem de erro com um status http
404
.
/crops/{cropId}/fertilizers/{fertilizerId}
- Utiliza o método POST, Associa um fertilizante à plantação, indicados pelo respectivos ids. Necessário token de autorização para efetuar a operação.
- Em caso de sucesso, retorna o status http
201
junto de uma mensagem de sucesso. - Caso o usuário não possua a autorização necessária ou caso a mesma esteja inválida, retorna uma mensagem de erro com o status http
403
. - Se não for encontrado uma plantação e/ou fertilizante com os ids especificados, retorna uma mensagem de erro com um status http
404
.
/fertilizers
-
Utilizando o método GET:
- Retorna uma lista de fertilizantes presentes no banco de dados. Necessário token de autorização para efetuar a operação e usuário com role ADMIN.
- Em caso de sucesso, retorna o status http
200
junto de uma lista de objetos contendo as informações dos fertilizantes. - Caso o usuário não possua a autorização necessária ou caso a mesma esteja inválida, retorna uma mensagem de erro com o status http
403
.
-
Utilizando o método POST:
-
Adiciona um fertilizante ao banco de dados. Necessário token de autorização. Necessário token de autorização para efetuar a operação.
-
Em caso de sucesso, retorna o status http
201
e um objeto contendo as informações do fertilizante criado. -
Caso o usuário não possua a autorização necessária ou caso a mesma esteja inválida, retorna uma mensagem de erro com o status http
403
. -
O corpo da requisição deve obedecer o seguinte formato:
{ "name": "string", "brand": "string", "composition": "string" }
-
/fertilizers/{id}
- Utiliza o método GET, Retorna o fertilizante especificado pelo id (caso exista). Necessário token de autorização para efetuar a operação.
- Em caso de sucesso, retorna o status http
200
e um objeto contendo os dados do fertilizante presente no banco de dados. - Caso o usuário não possua a autorização necessária ou caso a mesma esteja inválida, retorna uma mensagem de erro com o status http
403
. - Se não for encontrado um fertilizante com o id especificado, retorna uma mensagem de erro com um status http
404
.
Guilherme Lucena