Interface DonorDepositController

All Known Implementing Classes:
DonorDepositControllerImpl

public interface DonorDepositController
Interface DonorDepositController

Esta interface define os endpoints relacionados ao registro de itens de doação no depósito do doador.

Através desta interface, é possível fazer o registro de novos itens de doação, fornecendo os dados necessários via requisição. O registro é realizado utilizando anotações do Spring MVC para definir a rota e o método HTTP, além de anotações do Swagger para documentação e definição das possíveis respostas da API.

Principais funcionalidades:

  • Registrar um item de doação no depósito do doador utilizando uma requisição do tipo POST, contendo um objeto JSON com as informações do item.
  • A rota associada à operação de registro é definida pela anotação @PostMapping, que especifica também os tipos de mídia de consumo e produção (ambos JSON).
  • Utilização da anotação @Operation para adicionar metadados à documentação Swagger sobre a operação de registro.
  • Especificação das possíveis respostas através da anotação @ApiResponses, que define diferentes cenários como sucesso no registro, requisição inválida, e doador não encontrado.
Since:
1.3.0
Author:
diegoneves
See Also:
  • PostMapping
  • Operation
  • ApiResponse
  • ApiResponses
  • Method Details

    • registeredDonation

      @PostMapping(value="/register", consumes="application/json", produces="application/json") org.springframework.http.ResponseEntity<RegisteredDepositResponse> registeredDonation(@RequestBody DepositDonationRequest request)
      Endpoint para registrar um item de doação no depósito do Doador.

      Este endpoint recebe uma requisição POST contendo dados do item a ser registrado e armazena essa informação no depósito associado ao doador. A requisição deve conter um JSON com as informações definidas na classe DepositDonationRequest.

      Notas sobre o funcionamento:

      • Anotações @PostMapping definem a rota e especificam o tipo de mídia de consumo e produção (MediaType.APPLICATION_JSON_VALUE para ambos).
      • Anotação @Operation fornece metadados Swagger para documentar a operação de registro do item de doação.
      • Anotação @ApiResponses define as respostas possíveis para esta requisição.
      Parameters:
      request - objeto do tipo DepositDonationRequest, contendo as informações do item de doação a ser registrado.
      Returns:
      um ResponseEntity contendo uma instância de RegisteredDepositResponse retornada com sucesso, ou um ExceptionDTO em caso de erro.