Para construir e executar o aplicativo, você precisa:
- SPRING INITIALIZR
- Spring Boot
- Spring Data REST
- Spring Data JPA
- Apache Maven
- Swagger
- H2 Database Engine
- Java 8
Existem várias maneiras de executar esta API Spring Boot em sua máquina local. Uma maneira é executar o método main
na classe com.abril.editora.TestApplication
de seu IDE.
Alternativamente, você pode usar o Spring Boot Maven plugin igual a:
http://localhost:8080/swagger-ui.html
Salva uma lista de usuários com nome e senha criptografando a senha do usuário
[
{
"nome": "Ana",
"pass": "112233"
}
]
Response body
[
{
"id": 1,
"nome": "João",
"pass": "E0BC60C82713F64EF8A57C0C40D02CE24FD0141D5CC3086259C19B1E62A62BEA"
}
]
Retorna uma lista de usuários pré inserido na base de dados
[
{ "id": 1, "nome": "Ana" },
{ "id": 2, "nome": "Bruno" },
{ "id": 3, "nome": "Leo" },
{ "id": 4, "nome": "Juca" },
{ "id": 5, "nome": "Carlos" },
{ "id": 6, "nome": "Mara" }
]
Encontra um usuário pelo nome e senha
Response body
{
"id": 1,
"nome": "Ana",
"pass": "E0BC60C82713F64EF8A57C0C40D02CE24FD0141D5CC3086259C19B1E62A62BEA"
}
-
Resposta 01
- Função foi criada na Assinatura Endereco Controller descrita logo abaixo -
Resposta 02
- Criação de Indice para CEP, TIPO ENDEREÇO e ID PRODUTO -
Resposta 03
- Imagem da HQL criada no projeto:
@Query("select ae from AssinaturaEndereco ae " +
"inner join Assinatura a on ae.assinaturaId = a.id " +
"where ae.cep = :cep " +
"and a.produtoId = :productId " +
"and ae.tipoEndereco = :tipoEndereco ")
Salva uma pessoa
{
"nome": "Julius"
}
Response body
{ "id": 7, "nome": "Julius" }
Retorna uma lista de pessoas
Response body
[
{ "id": 1, "nome": "Ana" },
{ "id": 2, "nome": "Bruno" },
{ "id": 3, "nome": "Leo" },
{ "id": 4, "nome": "Juca" },
{ "id": 5, "nome": "Carlos" },
{ "id": 6, "nome": "Mara" },
{ "id": 7, "nome": "Julius" }
]
Encontra assinatura pelo Id
Response body
{ "id": 7, "nome": "Julius" }
Deleta uma pessoa pelo Id
Response body
"FORBIDDEN"
Salva uma assinatura
{
"nome": "Julius"
}
Response body
{ "id": 7, "nome": "Julius" }
Retorna uma lista de assinaturas
Response body
[
{
"id": 1,
"pessoaId": 1,
"produtoId": 55
},
{
"id": 2,
"pessoaId": 2,
"produtoId": 49
},
{
"id": 3,
"pessoaId": 3,
"produtoId": 55
},
{
"id": 4,
"pessoaId": 4,
"produtoId": 38
},
{
"id": 5,
"pessoaId": 5,
"produtoId": 55
},
{
"id": 6,
"pessoaId": 6,
"produtoId": 22
}
]
Encontra assinatura pelo Id
Response body
{
"id": 5,
"pessoaId": 5,
"produtoId": 55
}
Deleta uma assinatura pelo Id
Response body
"FORBIDDEN"
Salva um Endereco de Assinatura
{
"assinaturaId": 1,
"cep": "81920010",
"tipoEndereco": "COBRANCA"
}
Response body
{
"id": 7,
"assinaturaId": 1,
"tipoEndereco": "COBRANCA",
"cep": "81920010"
}
Retorna uma lista de assinaturas previamente inseridos no projeto
Response body
[
{
"id": 1,
"assinaturaId": 1,
"tipoEndereco": "ENTREGA",
"cep": "6190001"
},
{
"id": 2,
"assinaturaId": 2,
"tipoEndereco": "ENTREGA",
"cep": "6190001"
},
{
"id": 3,
"assinaturaId": 3,
"tipoEndereco": "ENTREGA",
"cep": "6190001"
},
{
"id": 4,
"assinaturaId": 4,
"tipoEndereco": "ENTREGA",
"cep": "6190001"
},
{
"id": 5,
"assinaturaId": 5,
"tipoEndereco": "ENTREGA",
"cep": "6190001"
},
{
"id": 6,
"assinaturaId": 6,
"tipoEndereco": "ENTREGA",
"cep": "6190001"
}
]
Encontra Endereco de Assinatura pelo Id
Response body
{
"id": 1,
"assinaturaId": 1,
"tipoEndereco": "ENTREGA",
"cep": "6190001"
}
Encontra todas as pessoas com assinatura com endereço do tipo ENTREGA pelo cep e produto informado
Response body
[
{
"id": 1,
"assinaturaId": 1,
"tipoEndereco": "ENTREGA",
"cep": "6190001"
},
{
"id": 3,
"assinaturaId": 3,
"tipoEndereco": "ENTREGA",
"cep": "6190001"
},
{
"id": 5,
"assinaturaId": 5,
"tipoEndereco": "ENTREGA",
"cep": "6190001"
}
]
Deleta um Endereco de Assinatura pelo Id
Response body
"FORBIDDEN"