Как получить тело ошибки, которое содержит более подробную информацию об ошибке, используя forge-api для nodejs?

1

У меня возникли проблемы с поиском способа получения тела, когда запрос 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();                
        });
  • 1
    попробуйте `` res.write (err) ``
  • 0
    err есть только err.statusCode и err.statusMessage и ничего больше ...
Теги:
autodesk-forge

1 ответ

1
Лучший ответ

В https://github.com/Autodesk-Forge/forge-api-nodejs-client я вижу, что они используют модуль "request" node-js и возвращают statusCode и statusMessage. Следовательно, вы не можете получить больше, чем эти два поля.

  • 0
    Вау, хороший улов и спасибо, что указали мне правильное направление. Думаю, мне придется изменить модуль самостоятельно и, возможно, отправить запрос на извлечение, если он работает для меня. Спасибо!
  • 0
    Да, вы можете раскошелиться на forge-api-nodejs-client и изменить.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню