Java 使用Swagger@ApiResponse-responseContainer在代码为400时不工作

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

在Swagger Java API中,当我使用代码为400的responsecontainer=“List”(或“Set”)时,我无法在Swagger GUI上获得响应的模型。我刚刚得到数组[对象]

具体情况如下:

@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);
    }