以下のように、同じHTTPコードで複数の@ApiResponseを持つことができるAPI仕様のドキュメントを作成したいと思います。
@ApiOperation(value = "Process request for login by user", response = Iterable.class)
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Login success"),
@ApiResponse(code = 400, message = "Login fail by wrong ID"),
@ApiResponse(code = 400, message = "Login fail by wrong password"),
@ApiResponse(code = 400, message = "Login fail by withdrawn ID")
})
これは、多くのユーザーが望むように役立ちます(https://github.com/kongchen/swagger-maven-plugin/issues/199で確認できます)
この機能がswagger-coreで利用可能になると、すべてのプラグインに適用されます。
あまり意味がないと思われる場合はコメントをお願いします。
よろしくお願いします。
あなたの場合、@ ApiResponse(code = 400、message = "ログインは間違ったIDで失敗します")、
@ApiResponse(code = 400、message = "ログインが間違ったパスワードで失敗しました")、
@ApiResponse(code = 400、message = "ログインが取り消されたIDで失敗しました")
このメッセージは上書きされ、応答コード400のメッセージは1つしか表示されません。
あなたは次のように変更することができます
@ApiOperation(value = "ユーザーによるログイン要求の処理"、response = Iterable.class)
@ApiResponses(value = {
@ApiResponse(コード= 200、メッセージ= "ログイン成功")、
@ApiResponse(code = 400、message="ログインが間違ったIDで失敗しました\t\nログインが間違ったパスワードで失敗しました\t\ nログインが取り消されたIDで失敗しました")、
})
これにより、400未満の3つのメッセージすべてが表示されます
@ pavan-eidiko私が提案する@ApiResponseの重複した使用法である変更を適応させることが不可能な場合は、あなたの推奨が最善でしょう。 それは有り難いです! 私はすぐにあなたの提案に従います。
ただし、この問題を自分で解決することはしません。 私はまだ、変更が寄稿者にとって意味があることを確認したいと思います。 将来のニュースを聞くことができるように、私はまだそれを開いています。
@Garamda OpenAPI仕様では、異なるメッセージで同じHTTPコードを複数回指定することはできません。 技術的には、単一のコードに対してさまざまな応答タイプをサポートできますが、複数の説明をサポートすることはできません。 これは仕様の制限であり、これを克服する実際の方法はありません。 自分で文字列を追加すると、ユーザーに意外な結果をもたらし、ここにバグがあると思わせることになると思います。
@webron今私は完全に理解しています。 SwaggerがOpenAPI仕様に基づいていることを知りませんでした。 何卒よろしくお願い申し上げます。
Swaggerプロジェクトのメンバーが、提案が受け入れられない理由を十分に説明したので、この問題を閉じます。 改めて感謝します。
最も参考になるコメント
あなたの場合、@ ApiResponse(code = 400、message = "ログインは間違ったIDで失敗します")、
@ApiResponse(code = 400、message = "ログインが間違ったパスワードで失敗しました")、
@ApiResponse(code = 400、message = "ログインが取り消されたIDで失敗しました")
このメッセージは上書きされ、応答コード400のメッセージは1つしか表示されません。
あなたは次のように変更することができます
@ApiOperation(value = "ユーザーによるログイン要求の処理"、response = Iterable.class)
@ApiResponses(value = {
@ApiResponse(コード= 200、メッセージ= "ログイン成功")、
@ApiResponse(code = 400、message="ログインが間違ったIDで失敗しました\t\nログインが間違ったパスワードで失敗しました\t\ nログインが取り消されたIDで失敗しました")、
})
これにより、400未満の3つのメッセージすべてが表示されます