Interface ShelterController
- All Known Implementing Classes:
ShelterControllerImpl
Esta interface representa o controlador que manipula todas as operações relacionadas aos abrigos em nosso sistema. Define como o cliente (geralmente um front-end da web) deve interfacear com os serviços de back-end para criar e administrar abrigos.
As operações principais que ela define incluem a criação de novos abrigos, através de solicitações HTTP POST para a rota "/ create". A especificação completa dessas rotas e do códigos de status HTTP que eles podem retornar, encontra-se nos Javadoc dos métodos individuais.
- Since:
- 1.0.0
- Author:
- diegoneves
-
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.
-
Method Details
-
createShelter
@PostMapping(value="/create", consumes="application/json", produces="application/json") org.springframework.http.ResponseEntity<ShelterCreatedResponse> createShelter(@RequestBody ShelterCreationRequest request) 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.
- 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. - Throws:
org.springframework.web.server.ResponseStatusException- será lançada se a criação do abrigo falhar devido a problemas de validação ou problemas no servidor. A mensagem de erro será incluída na exceção.
-
-
receiveDonation
@PostMapping(value="/donation", consumes="application/json", produces="application/json") org.springframework.http.ResponseEntity<ShelterInformationResponse> receiveDonation(@RequestBody ReceiveDonationRequest request) 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.
- 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. - Throws:
org.springframework.web.server.ResponseStatusException- será lançada se o recebimento da doação falhar devido a problemas de validação ou problemas no servidor. A mensagem de erro será incluída na exceção.
-
-
findShelterByUserResponsibleEmail
@GetMapping("/findShelter/{userResponsibleEmail}") org.springframework.http.ResponseEntity<ShelterInformationResponse> findShelterByUserResponsibleEmail(@PathVariable("userResponsibleEmail") String userResponsibleEmail) Mé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.
- 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. - Throws:
ShelterEntityFailuresException- se o usuário informado não for do tipo beneficiário ou não estiver cadastrado na base de dados. A mensagem de erro será incluída na exceção.
-
-
findAll
@GetMapping 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.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.
- 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
-
-