2016-11-15 1 views
0

私はスプリングブートを使用してレストサービスを作成しており、ドキュメントとしてはSwagger(SpringFox経由)を使用しています。そして、それはほとんど正常に動作しています。この問題は、すべてのクエリパラメータをリクエストオブジェクトに移動し、メソッドシグネチャでそれを使用して暗黙的に値をバインドし、春のバリデータを暗黙的に発生させたときに発生します。リクエストオブジェクトの詳細を公開するためにスウェーガーを呼び出す

public List<Category> getCategory(@Valid CategoryInputRequest inputRequest) throws JsonParseException, 
    JsonMappingException, IOException 

CategoryInputRequestプレーン豆の構造を持つBeanです:

は、これは私のメソッドのシグネチャがどのように見えるかであるIdNumber、platformIdは、クエリパラメータとデータの検証と結合している

@ApiModel(value = "Input Description") 
public class CategoryInputRequest { 
    @NotNull(message="SE Number is mandatory") 
    @Size(min=10,max=10,message="SE Number must have 10 characters") 
    @ApiModelProperty 
    private String idNumber; 

    @NotNull(message="Platform ID is mandatory") 
    @ApiModelProperty 
    private String platformId; 
    . 
    . 
    . 

完璧に起こる。しかし、Swaggerはメソッドシグニチャーの "CategoryInputRequest inputRequest"はrequestBodyタイプのパラメーターであり、クエリーのpametersではないと想定しているため、個々のフィールドをユーザーに公開することはありません。代わりに大きなテキストエリアにJSONブロックを配置します。@ APIModelPropertyを与えようとしましたが、うまくいきません。

誰でもお手伝いできますか?問題を説明できることを願っています。

公共リストのgetCategory(@Valid CategoryInputRequest inputRequest)動作しますが、適切な宣言がModelAttribute.This @ keyworkは、マッピングは、URL内のクエリーパラメータから行われていないされていることを示している必要があります自分の質問に答える

答えて

1

リクエスト本体。また、スワッガーはパターンを正しく分析することができます。希望は誰かを助ける:)

関連する問題