All Known Implementing Classes:
UserControllerImpl

public interface UserController
A interface 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 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 objeto UserEntityCreationRequest no 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 ResponseEntity que encapsula os detalhes da criação do usuário na forma de UserEntityCreatedResponse.

      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 objeto UserEntityCreationRequest encapsulando 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 tipo UserEntityCreationRequest.
      Returns:
      ResponseEntity que encapsula o UserEntityCreatedResponse se 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 String email 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 ResponseEntity que encapsula os detalhes da criação do usuário na forma de UserEntityCreatedResponse.

      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:
      ResponseEntity que encapsula o UserEntityCreatedResponse se o email do usuário for encontrado com sucesso.
      See Also: