Boa tarde, blz?
Como que eu faço para documentar somente o status code 2XX e 4xx?
At. Vinicius
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!