説明
GET の成功ステータスコードと結果が明記されていないと、呼び出し側は正常な取得結果を推測する必要があります。default はエラーだけでなく、個別の定義がないほかのレスポンスも対象にするため、成功時の契約が不明確になることがあります。
想定される影響
クライアントとテストで、正常なレスポンスのステータスコードやデータ形式の想定が食い違う可能性があります。
対処方法
通常の取得結果を示す 200 など、実際に返す成功コードを定義してください。部分的なコンテンツを示す 206 など、ほかの成功コードを使う場合も、その意味とレスポンス形式を文書化してください。
例
次のOpenAPI 2.0の抜粋では、取得成功を示す 200 を追加しています。レスポンス本文のスキーマは、この例では省略しています。
変更前
json
{
"swagger": "2.0",
"paths": {
"/item": {
"get": {
"operationId": "getItem",
"summary": "Get item",
"responses": {
"default": {
"description": "Error"
}
}
}
}
}
}
変更後
json
{
"swagger": "2.0",
"paths": {
"/item": {
"get": {
"operationId": "getItem",
"summary": "Get item",
"responses": {
"200": {
"description": "Success"
},
"default": {
"description": "Error"
}
}
}
}
}
}