Interface UserController
- All Known Implementing Classes:
UserControllerImpl
UserController age como um controlador REST referente a usuários dentro deste sistema.
Seu propósito é fornecer endpoints que lidam com todas as operações relativas aos usuários (como, por exemplo, criação de novo usuário), realizando a ligação entre as requisições HTTP dos clientes e a camada de serviço do sistema.
Dentro desta interface, são definidos métodos para lidar com uma série de operações de usuário, como a criação de um usuário novo.
Cada método está atrelado a um endpoint específico e é responsável por manipular uma operação distinta.
Um exemplo é o método createUser(UserEntityCreationRequest), que está mapeado para o endpoint "create" e é responsável pela criação de um novo usuário no sistema.
Como uma interface de controlador REST, processa-se input no formato JSON e devolve-se dados também no formato JSON.
A conversão entre este formato de dados e os objetos do domínio do sistema se dá através de classes de solicitação e resposta (como UserEntityCreationRequest e UserEntityCreatedResponse), que atuam como DTOs (Data Transfer Objects) que facilitam a serialização e deserialização de dados e validam a estrutura desses dados.
- Since:
- 1.0.0
- Author:
- diegoneves
-
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.http.ResponseEntity<UserEntityCreatedResponse>createUser(UserEntityCreationRequest request) Este endpoint pertence à aplicação "Usuários".org.springframework.http.ResponseEntity<UserEntityCreatedResponse>findUserByEmail(String email) Este endpoint pertence à aplicação "Usuários".
-
Method Details
-
createUser
@PostMapping(value="create", consumes="application/json", produces="application/json") org.springframework.http.ResponseEntity<UserEntityCreatedResponse> createUser(@RequestBody UserEntityCreationRequest request) Este endpoint pertence à aplicação "Usuários". Responsável por registrar novos usuários no sistema. Aceita uma requisição POST com o objetoUserEntityCreationRequestno corpo que contém as informações do usuário a ser registrado.Após a criação bem-sucedida do usuário, retorna um objeto
ResponseEntityque encapsula os detalhes da criação do usuário na forma deUserEntityCreatedResponse.O objeto
UserEntityCreatedResponseé um DTO que contém os detalhes relevantes sobre o usuário que foi criado. Isso inclui o ID de usuário único gerado pelo sistema, o nome de usuário escolhido, o endereço de e-mail fornecido e o tipo de perfil associado a este usuário.Em qualquer caso de violação das validações de integridade do modelo da entidade, um erro HTTP apropriado é retornado junto com os detalhes do erro.
- Parameters:
request- um objetoUserEntityCreationRequestencapsulando os detalhes do novo usuário a ser registrado. Este parâmetro deve estar presente no corpo da solicitação POST e é deserializado para o tipoUserEntityCreationRequest.- Returns:
ResponseEntityque encapsula oUserEntityCreatedResponsese o usuário for criado com sucesso.- See Also:
-
findUserByEmail
@GetMapping("/findByEmail/{email}") org.springframework.http.ResponseEntity<UserEntityCreatedResponse> findUserByEmail(@PathVariable("email") String email) Este endpoint pertence à aplicação "Usuários". Responsável por encontrar usuários no sistema por meio do email registrado.Aceita uma requisição GET com o objeto
Stringemail como Path variable na url da requisição que contém o email do usuário registrado.Após o usuário ser encontrado, retorna um objeto
ResponseEntityque encapsula os detalhes da criação do usuário na forma deUserEntityCreatedResponse.O objeto
UserEntityCreatedResponseé um DTO que contém os detalhes relevantes sobre o usuário que foi criado. Isso inclui o ID de usuário único gerado pelo sistema, o nome de usuário escolhido, o endereço de e-mail fornecido e o tipo de perfil associado a este usuário.Em qualquer caso de violação das validações de integridade do modelo da entidade, um erro HTTP apropriado é retornado junto com os detalhes do erro. Este parâmetro deve estar presente na url da solicitação GET e é deserializado para o tipo
UserEntityCreatedResponse.- Returns:
ResponseEntityque encapsula oUserEntityCreatedResponsese o email do usuário for encontrado com sucesso.- See Also:
-