2017-09-20 5 views
1

Swagger Java APIで、responseecontainer = "List"(または "Set")をコード= 400で使用すると、 Swagger-GUI。私はちょうどArray [Object]を取得しています。だから、通常i'am闊歩UIの[]の間にこのモデルを持っていることになってSwagger @ApiResponseを使用している場合responseContainerがコードが400のときに機能しない

public class Rejection { 


private Long id; 


private RejectionDTO rejection; 


private String originMessage; 

public Rejection() { 
} 

public Long getId() { 
    return id; 
} 

public RejectionDTO getRejection() { 
    return rejection; 
} 

public String getOriginMessage() { 
    return originMessage; 
} 

public void setId(Long id) { 
    this.id = id; 
} 

public void setRejection(RejectionDTO rejection) { 
    this.rejection = rejection; 
} 

public void setOriginMessage(String originMessage) { 
    this.originMessage = originMessage; 
} 
} 

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

が拒絶クラスです:

は、ここで具体的なケースです。しかし、私は取得していますアレイ[オブジェクト]:

See screen capture

+0

@ApiResponsesを使用しているコントローラを投稿します。 –

+0

@IndraBasak Done –

+0

実例と回答しました。 –

答えて

0

はあなたの例の作業を行うには、具体的なクラス、ResponseEntity<List<Rejection>>に、ワイルドカード、ResponseEntity<?>からあなたの戻り値を変更する必要があります。また、responseContainerListからSetに変更する必要があります。

@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); 
    } 
関連する問題