middy / validator: как написать схему для JSON строки - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь проверить формат REST API resp в Serverless Framework. Использование middy / validator

Схема вывода

const outputSchema = {
  required: ['body', 'statusCode'],
  properties: {
    body: {
      type: 'object'
    },
    statusCode: {
      type: 'number'
    }
  }
}

в API

const handler = async (event, context) => {
   ...
   return {
        statusCode: 200,
        body: JSON.stringify(resp)
      };
}
...

export const handler = middy(handler).use(
  validator({ outputSchema: outputSchema })
);

Я получил ошибку при проверке, я вижу, что в API body - это строка JSON, но в схеме body - это объект.

Как мне написать схему для проверки структуры JSON строки

Любое предложение ценится.

1 Ответ

1 голос
/ 13 июля 2020

Строковый ответ, который вы отправляете, не будет работать со схемой, но этот ответ не указан c для бессерверного сервера - это ответ, требуемый прокси-сервером шлюза api. Попробуйте вернуть нестроковый результат и используйте другое промежуточное ПО для форматирования ответа. Проверьте автопроксиответ . Или напишите свой, чтобы обработать окончательное форматирование.

...