Java 使用Swagger@ApiResponse-responseContainer在代码为400时不工作
在Swagger Java API中,当我使用代码为400的responsecontainer=“List”(或“Set”)时,我无法在Swagger GUI上获得响应的模型。我刚刚得到数组[对象] 具体情况如下:Java 使用Swagger@ApiResponse-responseContainer在代码为400时不工作,java,api,swagger,documentation-generation,Java,Api,Swagger,Documentation Generation,在Swagger Java API中,当我使用代码为400的responsecontainer=“List”(或“Set”)时,我无法在Swagger GUI上获得响应的模型。我刚刚得到数组[对象] 具体情况如下: @CrossOrigin @RestController @RequestMapping(value = "/api") @Loggable(prepend = true, trim = false) public class ConfigResource { privat
@CrossOrigin
@RestController
@RequestMapping(value = "/api")
@Loggable(prepend = true, trim = false)
public class ConfigResource {
private final ConfigResourceDelegate delegate;
@Inject
public ConfigResource(final ConfigResourceDelegate delegate) {
this.delegate = delegate;
}
@RequestMapping(
value = "/v1/config",
method = PUT,
consumes = APPLICATION_JSON_UTF8_VALUE,
produces = APPLICATION_JSON_UTF8_VALUE
)
@ApiResponses(value = {@ApiResponse(code=202,message = "ACCEPTED" ),
@ApiResponse(code=200,response = Rejection.class, responseContainer
= "Set", message = "BAD_REQUEST"),
@ApiResponse(code=500, message = "INTERNAL_SERVER_ERROR")})
public ResponseEntity<?> putConfig(final @RequestBody ConfigDto
configDto){
return delegate.putConfig(riskConfigDto);
}
}
所以通常情况下,我应该在swagger UI中的[]之间设置此模型。但是,我得到的数组[对象]:
要使示例生效,您需要将返回值从通配符
ResponseEntity
更改为具体类ResponseEntity
。此外,您需要将响应容器
从设置
更改为列表
@RequestMapping(
value = "/v1/config",
method = PUT,
consumes = APPLICATION_JSON_UTF8_VALUE,
produces = APPLICATION_JSON_UTF8_VALUE
)
@ApiResponses(value = {@ApiResponse(code=202,message = "ACCEPTED" ),
@ApiResponse(code=200,response = Rejection.class, responseContainer
= "List", message = "BAD_REQUEST"),
@ApiResponse(code=500, message = "INTERNAL_SERVER_ERROR")})
public ResponseEntity<List<Rejection>> putConfig(final @RequestBody ConfigDto
configDto){
return delegate.putConfig(riskConfigDto);
}
@RequestMapping(
value=“/v1/config”,
方法=投入,
消费=应用程序\u JSON\u UTF8\u值,
生成=应用程序\u JSON\u UTF8\u值
)
@ApiResponses(value={@ApiResponse(code=202,message=“ACCEPTED”),
@ApiResponse(代码=200,响应=Rejection.class,响应容器
=“列表”,消息=“错误的请求”),
@ApiResponse(代码=500,message=“INTERNAL\u SERVER\u ERROR”)}
公共响应属性putConfig(final@RequestBody配置为
配置到){
返回delegate.putConfig(riskConfigDto);
}
张贴您正在使用的控制器@ApiResponses
@IndraBasak done,并使用一个工作示例。
@RequestMapping(
value = "/v1/config",
method = PUT,
consumes = APPLICATION_JSON_UTF8_VALUE,
produces = APPLICATION_JSON_UTF8_VALUE
)
@ApiResponses(value = {@ApiResponse(code=202,message = "ACCEPTED" ),
@ApiResponse(code=200,response = Rejection.class, responseContainer
= "List", message = "BAD_REQUEST"),
@ApiResponse(code=500, message = "INTERNAL_SERVER_ERROR")})
public ResponseEntity<List<Rejection>> putConfig(final @RequestBody ConfigDto
configDto){
return delegate.putConfig(riskConfigDto);
}