Class ShelterControllerImpl
- All Implemented Interfaces:
ShelterController
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 Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.http.ResponseEntity<ShelterCreatedResponse>createShelter(ShelterCreationRequest request) Método POST para a criação de um Abrigo.org.springframework.http.ResponseEntity<org.springframework.data.domain.Page<ShelterInformationResponse>>findAll(org.springframework.data.domain.Pageable pageable) Método GET para encontrar todos os abrigos cadastrados.org.springframework.http.ResponseEntity<ShelterInformationResponse>findShelterByUserResponsibleEmail(String userResponsibleEmail) Método GET para encontrar um abrigo pelo email do usuário responsável.org.springframework.http.ResponseEntity<ShelterInformationResponse>receiveDonation(ReceiveDonationRequest request) Método POST para o recebimento de doações.
-
Field Details
-
shelterEntityService
-
-
Constructor Details
-
ShelterControllerImpl
-
-
Method Details
-
createShelter
public org.springframework.http.ResponseEntity<ShelterCreatedResponse> createShelter(ShelterCreationRequest request) Description copied from interface:ShelterControllerMé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:
createShelterin interfaceShelterController- Parameters:
request- objetoShelterCreationRequestque representa a solicitação de criação de um abrigo que é mapeada do corpo da solicitação JSON.- Returns:
- Retorna um
ResponseEntityque 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:ShelterControllerMé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:
receiveDonationin interfaceShelterController- Parameters:
request- objetoReceiveDonationRequestque representa a solicitação de recebimento de uma doação que é mapeada do corpo da solicitação JSON.- Returns:
- Retorna um
ResponseEntityque 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:ShelterControllerMétodo GET para encontrar um abrigo pelo email do usuário responsável.Este método recebe uma
Stringque 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:
findShelterByUserResponsibleEmailin interfaceShelterController- Returns:
- Retorna um
ResponseEntityque 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:ShelterControllerMétodo GET para encontrar todos os abrigos cadastrados.Este método recebe um
Pageableque para que seja feito a paginação da pagina e retorna como resposta todos osShelterInformationResponsecadastrados 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:
findAllin interfaceShelterController- Returns:
- Retorna um
ResponseEntityque 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:
-
PageablePage
-
-