"statusCode": 422 должно быть числом в петле 4 - PullRequest
0 голосов
/ 05 мая 2020

У меня есть объект json из angular как {"weight": "50"}, но для LoopBack 4 требуется {"weight": 50}. Как я могу этого добиться? Я не хочу вносить какие-либо изменения в angular. В LoopBack 4 есть какие-то настройки?

Пожалуйста, помогите.

1 Ответ

1 голос
/ 07 мая 2020

Привет от команды LoopBack ?

LoopBack использует популярную библиотеку AJV для проверки входящих запросов. Можно настроить AJV для приведения типов во время проверки, например, преобразовать строку "50" в число 50 для свойства numeri c, см. Приведение типов данных .

Чтобы включите принуждение, измените основной файл приложения (src/application.ts) следующим образом:

Импорт RestBindings из @loopback/rest:

import {RestApplication, RestBindings} from '@loopback/rest';

Добавьте следующую строку в конце вашего приложения constructor:

this.bind(RestBindings.REQUEST_BODY_PARSER_OPTIONS).to({
  validation: {coerceTypes: true},
})

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...