私はスプリングブートを使用してレストサービスを作成しており、ドキュメントとしては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内のクエリーパラメータから行われていないされていることを示している必要があります自分の質問に答える