Boa tarde, blz?
Como que eu faço para documentar somente o status code 2XX e 4xx?
At. Vinicius
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Boa tarde, blz?
Como que eu faço para documentar somente o status code 2XX e 4xx?
At. Vinicius
Olá Vinicius, tudo bem?
Para documentar somente o status code 2XX e 4XX no Swagger, você pode utilizar a anotação @ApiResponse juntamente com a anotação @ApiResponses.
Segue um exemplo de como utilizar:
@ApiOperation(value = "Exemplo de endpoint", response = ExemploResponse.class)
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Retorna o objeto ExemploResponse", response = ExemploResponse.class),
@ApiResponse(code = 400, message = "Requisição inválida"),
@ApiResponse(code = 401, message = "Não autorizado"),
@ApiResponse(code = 404, message = "Não encontrado"),
@ApiResponse(code = 500, message = "Erro interno do servidor")
})
@GetMapping("/exemplo")
public ResponseEntity<ExemploResponse> exemplo() {
// código do endpoint
}No exemplo acima, estamos documentando o endpoint "/exemplo" e definindo que ele retorna um objeto do tipo ExemploResponse. Utilizamos a anotação @ApiResponses para definir as possíveis respostas do endpoint, e a anotação @ApiResponse para definir cada uma delas. No caso, estamos documentando as respostas com os status code 200, 400, 401, 404 e 500.
Para documentar somente os status code 2XX e 4XX, basta remover as anotações @ApiResponse referentes aos outros status code. Ficaria assim:
@ApiOperation(value = "Exemplo de endpoint", response = ExemploResponse.class)
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Retorna o objeto ExemploResponse", response = ExemploResponse.class),
@ApiResponse(code = 400, message = "Requisição inválida"),
@ApiResponse(code = 401, message = "Não autorizado"),
@ApiResponse(code = 404, message = "Não encontrado")
})
@GetMapping("/exemplo")
public ResponseEntity<ExemploResponse> exemplo() {
// código do endpoint
}Espero ter ajudado e bons estudos!