私はswagger-nodeが初めてで、ブール型のデータを返すAPIメソッドを作成しています。メソッドの yaml は次のとおりです。
/IsBooting:
get:
summary: "Returns if the device is booting"
description: "Returns true when is in booting state"
x-swagger-router-controller: printer_status
operationId: IsBooting
responses:
200:
description: "Returns a bool that indicates if the deviceis booting"
schema:
type: "boolean"
default:
description: "Unexpected error"
schema:
$ref: "#/definitions/Error"
この API メソッドが呼び出すコントローラーのメソッドは次のとおりです。
function IsBooting(req, res) {
res.json(false)
}
PostMan を使用してこのメソッドを呼び出すと、一部の検証が次のメッセージで失敗します。
Error: Response validation failed: not a valid boolean: false
at throwErrorWithCode (C:\...\node_modules\swagger-express-mw\node_modules\swagger-node-runner\node_modules\swagger-tools\lib\validators.js:121:13)
at validateTypeAndFormat (C:\...\node_modules\swagger-express-mw\node_modules\swagger-node-runner\node_modules\swagger-tools\lib\validators.js:536:7)
at Object.module.exports.validateSchemaConstraints (C:\...\node_modules\swagger-express-mw\node_modules\swagger-node-runner\node_modules\swagger-tools\lib\validators.js:627:7)
at validateValue (C:\...\node_modules\swagger-express-mw\node_modules\swagger-node-runner\node_modules\swagger-tools\middleware\swagger-validator.js:117:16)
at ServerResponse.res.end (C:\...\node_modules\swagger-express-mw\node_modules\swagger-node-runner\node_modules\swagger-tools\middleware\swagger-validator.js:242:9)
at ServerResponse.send (C:\...\node_modules\express\lib\response.js:204:10)
at ServerResponse.json (C:\...\node_modules\express\lib\response.js:249:15)
at IsBooting (C:\...\api\controllers\printer_status.js:54:7)
at swaggerRouter (C:\...\node_modules\swagger-express-mw\node_modules\swagger-node-runner\node_modules\swagger-tools\middleware\swagger-router.js:407:20)
at swagger_router (C:\...\node_modules\swagger-express-mw\node_modules\swagger-node-runner\fittings\swagger_router.js:31:5)
データを含む応答を作成する方法がわかりません。文字列を型として使用する場合、またはブール値をカプセル化する新しい複合型を作成する場合は送信できますが、あまり良い解決策はないと思います...
何か考えはありますか?