#spring #spring-boot #swagger #swagger-ui #swagger-2.0
#spring #весна-загрузка #развязность #swagger-пользовательский интерфейс #swagger-2.0
Вопрос:
Я получаю сообщение об ошибке ниже: Аннотация @ApiResponses запрещена для этого местоположения Мы используем swagger2.2.0
@RestController
@RequestMapping(value = "/example")
@ApiResponses(value = { @ApiResponse(code = 200, message = "Success"),
@ApiResponse(code = 204, message = "No Content"),
@ApiResponse(code = 400, message = "Bad Request"),
@ApiResponse(code = 401, message = "Unauthorized"),
@ApiResponse(code = 500, message = "Internal Server Error")})
public class SomeController{
}
Есть ли у нас какой-либо вариант без обновления версии swagger?
Пожалуйста, помогите ..
Ответ №1:
это потому, что аннотацию @ApiResponses можно использовать только в методе!
Ниже приведен пример фрагмента:
@ApiResponses(value = { @ApiResponse(code = 400, message = "Invalid ID supplied"),
@ApiResponse(code = 404, message = "Pet not found") })
public Response getPetById(...) {...}
Комментарии:
1. Это неправда. Я обновил версию swagger до 2.9.0, и она принимается на уровне класса. У меня другая проблема, хотя с 2.9.0.
2. @Mebin — Я думаю, что имеет смысл на уровне метода в случае swagger версии 2.2.0, но 2.9.0 на уровне класса вы также можете предоставить. В любом случае, большое спасибо за подсказку. Я устанавливаю уровень метода без обновления версии swagger.
3. @Nishant. Если да, не могли бы вы, пожалуйста, отметить ответ Мирко как полезный. Спасибо.
4. @Nishant github.com/swagger-api/swagger-core/wiki /… 🙂