У меня возникли проблемы с поиском способа получения тела, когда запрос API возвращает ошибку. Я тестировал создание ведра с заглавными буквами, и все, что я получаю, является объектом ошибки, который имеет statusCode = "400"
и statusMessage = "BAD REQUEST"
.
Основываясь на API forge, я предполагаю получить более подробное сообщение о том, что пошло не так из body
но я не знаю, как получить к нему доступ, используя forge-api.
Ниже приведен пример вызова forge-api:
var bucketsApi = forgeSDK.BucketsApi();
var postBuckets = new forgeSDK.PostBucketsPayload();
//bucketKey = "Ab" which should throw bad request error due to bucket key not allowing uppercase
postBuckets.bucketKey = req.body.bucketKey;
postBuckets.policyKey = "transient";
bucketsApi.createBucket(postBuckets, {}, oauth.OAuthClient(), credentials).then(function (buckets) {
res.status(200).end();
}).catch(function (error) {
res.status(err.statusCode); //400
res.write(err.statusMessage); //BAD REQUEST
//missing error reason "Valid field 'bucketKey' must be of the form [-_.a-z0-9]{3,128}"
res.end();
});
В https://github.com/Autodesk-Forge/forge-api-nodejs-client я вижу, что они используют модуль "request" node-js и возвращают statusCode
и statusMessage
. Следовательно, вы не можете получить больше, чем эти два поля.
err
есть толькоerr.statusCode
иerr.statusMessage
и ничего больше ...