Seu papel é construir uma RESTful API que permita:
- Cadastrar Usuário
- Fazer Login
- usuarios
- id
- nome
- email (campo único)
- senha
Essa é a rota que será utilizada para cadastrar um novo usuario no sistema.
-
Requisição
Sem parâmetros de rota ou de query.
O corpo (body) deverá possuir um objeto com as seguintes propriedades (respeitando estes nomes):- nome
- senha
-
Resposta
Em caso de sucesso, deveremos enviar no corpo (body) da resposta o conteúdo do usuário cadastrado, incluindo seu respectivoid
e excluindo a senha criptografada. Em caso de falha na validação, a resposta deverá possuir status code apropriado, e em seu corpo (body) deverá possuir um objeto com uma propriedade mensagem que deverá possuir como valor um texto explicando o motivo da falha. -
REQUISITOS OBRIGATÓRIOS
- Validar os campos obrigatórios:
- nome
- senha
- Validar se o e-mail informado já existe
- Criptografar a senha antes de persistir no banco de dados
- Cadastrar o usuário no banco de dados
- Validar os campos obrigatórios:
// POST /usuario
{
"nome": "José",
"email": "jose@email.com",
"senha": "123456"
}
// HTTP Status 200 / 201 / 204
{
"id": 1,
"nome": "José",
"email": "jose@email.com"
}
// HTTP Status 400 / 401 / 403 / 404
{
"mensagem": "Já existe usuário cadastrado com o e-mail informado."
}
Essa é a rota que permite o usuario cadastrado realizar o login no sistema.
-
Requisição
Sem parâmetros de rota ou de query.
O corpo (body) deverá possuir um objeto com as seguintes propriedades (respeitando estes nomes):- senha
-
Resposta
Em caso de sucesso, o corpo (body) da resposta deverá possuir um objeto com a propriedade token que deverá possuir como valor o token de autenticação gerado e uma propriedade usuario que deverá possuir as informações do usuário autenticado, exceto a senha do usuário.
Em caso de falha na validação, a resposta deverá possuir status code apropriado, e em seu corpo (body) deverá possuir um objeto com uma propriedade mensagem que deverá possuir como valor um texto explicando o motivo da falha. -
REQUISITOS OBRIGATÓRIOS
- Validar os campos obrigatórios:
- senha
- Verificar se o e-mail existe
- Validar a senha
- Criar token de autenticação com id do usuário
- Validar os campos obrigatórios:
// POST /login
{
"email": "jose@email.com",
"senha": "123456"
}
// HTTP Status 200 / 201 / 204
{
"usuario": {
"id": 1,
"nome": "José",
"email": "jose@email.com"
},
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiaWF0IjoxNjIzMjQ5NjIxLCJleHAiOjE2MjMyNzg0MjF9.KLR9t7m_JQJfpuRv9_8H2-XJ92TSjKhGPxJXVfX6wBI"
}
// HTTP Status 400 / 401 / 403 / 404
{
"mensagem": "Usuário e/ou senha inválido(s)."
}