Я создал это промежуточное ПО в Node.js для проверки входящего запроса, заголовков и тела. Оно может проверять тело на любой возможной глубине.
Проверка пункта запроса
В ответ мы бы получили, какой пункт запроса отсутствует
Проверка заголовков в пункте
Мы бы получили в ответ, какие заголовки отсутствуют в параграфе
Проверка тела
Таким образом, в случае тела, если внутри объекта произошло несоответствие типа, он сообщит ключевые детали, в случае массива он укажет индекс проблемы.
След будет отсутствовать, например, на скриншоте выше
- под «вложенным» ключом будет какой-то массив, в его 0-й позиции будет какой-то ключ «а»
- под «вложенным» ключом будет некоторый массив в его 0-й позиции, есть другой объект с ключом «v» под этим любым массивом под ним в 0-й позиции в ключе «age»
Вы можете видеть изменения в теле и изменения в ответ
Как использовать это промежуточное ПО за 3 простых шага:
- клонируйте это репо ‘ https://github.com/saru998/node_request_schema_validator ’, вы получите код вида
2. Напишите вашу схему или копию от почтальона API в schema_json
3. Используйте промежуточное ПО в маршрутизаторе с тем же идентификатором запроса, что и в schema_json.
Тебе хорошо идти ..
Для сравнения объекта у меня есть собственный алгоритм с использованием подхода DFS, который вы можете понять в:
Примечание: если вы хотите сделать исключение для параметра, вы можете поместить его значение в schema_json null, он пропустит проверку этого типа ключа
СДЕЛАНО