java - 覆盖 io.swagger.v3.oas.annotations.media.Schema 中的任何参数都会引发异常
问题描述
我有这个开放的 API 注释
@GET
@Operation(method = "Get orders", description = "GetOrdersRoute",
parameters = {
@Parameter(in = ParameterIn.QUERY, name = "batchSize", required = true,
schema = @Schema(type = "")),
@Parameter(in = ParameterIn.QUERY, name = "fromDate", required = true),
@Parameter(in = ParameterIn.QUERY, name = "filter", required = true)},
responses = {
@ApiResponse(description = "The order",
content = @Content(mediaType = "application/json",
schema = @Schema(implementation = OrderDto.class)))})
@Override
public String handle(@Parameter(hidden = true) Request request, @Parameter(hidden = true) Response response) {
return api.exec();
}
有用。但是当我添加到@Parameter
任何@Schema
值时,schema = @Schema(type = "integer"))
我得到一个例外:
java.lang.NoSuchMethodError: org.apache.commons.lang3.math.NumberUtils.isCreatable(Ljava/lang/String;)Z
换句话说: @Schema(type = ""))
工作正常但 @Schema(type = "integer"))
不起作用。
不仅是注释中type
的参数。@Schema
注释中的任何覆盖参数都会 @Schema
引发此异常。
但是@Schema
in@ApiResponse
可以与任何覆盖参数一起正常工作。
解决方案
我今天在使用时遇到了同样的问题
@ApiResponse(
responseCode = "200",
content = @Content(mediaType = "application/json", schema = @Schema(implementation = MyDto.class)),
description = "Returns MyDto.")
io.swagger.v3.oas.annotations.media.Schema
从swagger 2.1.9
. _
在尝试了不同的招摇版本(在我的设置中产生了其他错误)之后,它在降级到swagger 2.0.10
.
推荐阅读
- javascript - Three.js - 通过鼠标移动和点击创建/更新网格
- sql - 我可以将 select 语句中的列名更改为从存储过程传入的参数吗?
- mysql - 如何在mysql的同一个父表中获取子行
- jquery - Jquery Mobile 下拉格式问题
- javascript - document.getElementByClassName 不工作,但 document.getElementById 工作
- django - GeoDjango - LayerMapping:当前事务中发生错误。在“原子”块结束之前,您无法执行查询
- php - 使用动态变量的 PayPal 链式支付
- php - 当用户点击帖子时,为什么变量会在它应该改变之前发生变化?
- powershell - Powershell - 使用文件作为参数创建快捷方式
- angular2-forms - Angular 2 值更改