java.lang.Object
diegosneves.github.conectardoacoes.adapters.rest.controller.imp.ShelterControllerImpl
All Implemented Interfaces:
ShelterController

@RestController @RequestMapping("/shelter") public class ShelterControllerImpl extends Object implements ShelterController
A classe ShelterControllerImpl implementa a interface ShelterController e serve como o ponto de entrada da API para o gerenciamento dos abrigos.

Esta classe é decorada com as anotações @RestController e @RequestMapping("/shelter"), indicando que é um controlador REST e que irá responder a requisições feitas para /shelter.

Since:
1.0.0
Author:
diegoneves
See Also:
  • Field Details

  • Constructor Details

  • Method Details

    • createShelter

      public org.springframework.http.ResponseEntity<ShelterCreatedResponse> createShelter(ShelterCreationRequest request)
      Description copied from interface: ShelterController
      Método POST para a criação de um Abrigo.

      Este método recebe um objeto JSON que representa uma solicitação de criação de abrigo, a criação do abrigo é realizada no back-end, e retorna uma resposta que inclui os detalhes do abrigo criado.

      O objeto de solicitação deve ser fornecido no corpo da solicitação, com os seguintes campos:

      • shelterName: Nome do abrigo a ser criado.
      • address: Um objeto que representa o endereço do abrigo. Deve incluir rua, número, bairro, cidade, estado e CEP.
      • responsibleUserEmail: O e-mail do usuário responsável pelo abrigo.

      O método retornará um objeto JSON com os seguintes campos:

      • id: O ID gerado para o novo abrigo criado.
      • shelterName: O nome do abrigo criado.
      • address: Um objeto representando o endereço do abrigo criado.
      • responsibleUser: Um objeto representando o usuário responsável pelo abrigo.
      Specified by:
      createShelter in interface ShelterController
      Parameters:
      request - objeto ShelterCreationRequest que representa a solicitação de criação de um abrigo que é mapeada do corpo da solicitação JSON.
      Returns:
      Retorna um ResponseEntity que encapsula a resposta da criação do abrigo. Esta resposta inclui o status HTTP da operação, bem como um corpo que é uma representação JSON do abrigo criado.
    • receiveDonation

      public org.springframework.http.ResponseEntity<ShelterInformationResponse> receiveDonation(ReceiveDonationRequest request)
      Description copied from interface: ShelterController
      Método POST para o recebimento de doações.

      Este método recebe um objeto JSON que representa uma solicitação de recebimento de doação, o registro da doação é realizado no back-end, e retorna uma resposta que inclui os detalhes da doação recebida.

      O objeto de solicitação deve ser fornecido no corpo da solicitação, com os seguintes campos:

      • responsibleEmail: O e-mail do usuário responsável pelo recebimento da doação.
      • donationDTOS: Uma lista de doações que o abrigo está recebendo.

      O método retornará um objeto JSON com os seguintes campos:

      • shelterName: O nome do abrigo que recebeu a doação.
      • responsibleName: O nome da pessoa que está gerenciando as doações no abrigo.
      • responsibleEmail: O e-mail do responsável pelo recebimento das doações.
      • donationDTOS: Uma lista de objetos representando as doações recebidas.
      Specified by:
      receiveDonation in interface ShelterController
      Parameters:
      request - objeto ReceiveDonationRequest que representa a solicitação de recebimento de uma doação que é mapeada do corpo da solicitação JSON.
      Returns:
      Retorna um ResponseEntity que encapsula a resposta do recebimento da doação. Esta resposta inclui o status HTTP da operação, bem como um corpo que é uma representação JSON das doações recebidas.
    • findShelterByUserResponsibleEmail

      public org.springframework.http.ResponseEntity<ShelterInformationResponse> findShelterByUserResponsibleEmail(String userResponsibleEmail)
      Description copied from interface: ShelterController
      Método GET para encontrar um abrigo pelo email do usuário responsável.

      Este método recebe uma String que representa o email do usuário responsável e retorna uma resposta que inclui os detalhes do abrigo encontrado.

      O método retornará um objeto JSON com os seguintes campos:

      • shelterName: O nome do abrigo.
      • responsibleName: O nome da pessoa que está gerenciando as doações no abrigo.
      • responsibleEmail: O e-mail do responsável pelo recebimento das doações.
      • donationDTOS: Uma lista de objetos representando as doações recebidas.

      Specified by:
      findShelterByUserResponsibleEmail in interface ShelterController
      Returns:
      Retorna um ResponseEntity que encapsula a resposta do abrigo encontrado. Esta resposta inclui o status HTTP da operação, bem como um corpo que é uma representação JSON do abrigo.
    • findAll

      public org.springframework.http.ResponseEntity<org.springframework.data.domain.Page<ShelterInformationResponse>> findAll(org.springframework.data.domain.Pageable pageable)
      Description copied from interface: ShelterController
      Método GET para encontrar todos os abrigos cadastrados.

      Este método recebe um Pageable que para que seja feito a paginação da pagina e retorna como resposta todos os ShelterInformationResponse cadastrados com paginação.

      O método retornará um objeto JSON com os seguintes campos:

      • shelterName: O nome do abrigo.
      • responsibleName: O nome da pessoa que está gerenciando as doações no abrigo.
      • responsibleEmail: O e-mail do responsável pelo recebimento das doações.
      • donationDTOS: Uma lista de objetos representando as doações recebidas.

      Specified by:
      findAll in interface ShelterController
      Returns:
      Retorna um ResponseEntity que encapsula a resposta do abrigo encontrado. Esta resposta inclui o status HTTP da operação, bem como um corpo que é uma representação JSON do abrigo.
      See Also:
      • Pageable
      • Page