Как ограничить трассировку стека моего сервера Swagger node.js?

Как ограничить трассировку стека? Фактически, в моем файле json swagger я определяю объект, поле которого соответствует перечислению.

Проблема: когда я помещаю строку, которая не соответствует моему перечислению. Ответ сервера дает слишком много информации. Я хочу удалить или ограничить ответ на трассировку стека. Как это сделать?

Мой ямл swagger:

{
    "name": "sort",
    "in": "query",
    "description": "The type of sort we want",
    "required": false,
    "type": "string",
    "enum": [ "ASC", "DESC" ] 
}

Мой HTTP-ответ, когда я отправляю HTTP-запрос с помощью sort = abcd

Error: Parameter (sort) is not an allowable value (ASC, DESC): abcd
            
   at throwErrorWithCode (/usr/src/app/node_modules/swagger-tools/lib/validators.js:116:13)
   at module.exports.validateEnum (/usr/src/app/node_modules/swagger-tools/lib/validators.js:248:5)
   at Object.module.exports.validateSchemaConstraints (/usr/src/app/node_modules/swagger-tools/lib/validators.js:629:5)
   at validateValue (/usr/src/app/node_modules/swagger-tools/middleware/swagger-validator.js:119:16)
   at /usr/src/app/node_modules/swagger-tools/middleware/swagger-validator.js:379:21
   at /usr/src/app/node_modules/async/dist/async.js:1135:9
   at eachOfArrayLike (/usr/src/app/node_modules/async/dist/async.js:1069:9)
   at eachOf (/usr/src/app/node_modules/async/dist/async.js:1117:5)
   at _asyncMap (/usr/src/app/node_modules/async/dist/async.js:1133:5)
   at Object.map (/usr/src/app/node_modules/async/dist/async.js:1122:16)

Я использую серверный узел js.

Может мне нужно настроить свой package.json ???

"scripts": {
      "prestart": "npm install",
      "start": "node index.js",
      "test": "jest --coverage"
 },
Эта тема решает мою проблему:stackoverflow.com/questions/38647242/…
Amir Amir 29.11.2018 11:14

Отвечает ли это на ваш вопрос? Ошибка стека node.js более 10 строк?

radrow 13.01.2021 10:02
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
2
525
1

Ответы 1

Вы можете попробовать установить в своем коде Error.stackTraceLimit = 10; или любое количество строк, которое хотите.

это ничего не меняет, потому что я использую swaggerTools, а stackTrace исходит из чванства, а не из моего кода.

Amir Amir 16.11.2018 17:08

Да, вы можете, вы можете указать это при инициализации в вашем index.js.

marcolz 03.12.2019 16:44

Решение Marcoiz прекрасно сработало для меня. Для тех, кто хочет полностью увеличить вывод stacktrace из соображений безопасности, обертка Error.stackTraceLimit = 0 внутри переключателя только для производства прекрасно сработала для меня в index.js моего Swagger-Tools. Теперь я могу отправлять ошибки / 403 через обратный вызов Swagger (), не раскрывая никакой информации о пути. Красивый! Спасибо!

Sean Halls 29.03.2020 01:21

Другие вопросы по теме