2

我正在使用 loopback mongodb 连接器将 loopback4 连接到 mongodb。

我创建的模型只有两个字段 id 和 name,都是必需的。还创建了存储库和控制器。但是当我发出 POST 请求时,它给出 422 错误这是我的模型

    import { Entity, model, property } from '@loopback/repository';

@model({ settings: { strict: false } })
export class Ss extends Entity {
  @property({
    type: 'number',
    id: true,
    required: true,
  })
  id: number;

  @property({
    type: 'string',
    required: true,
  })
  name: string;
  [prop: string]: any;

  constructor(data?: Partial<Ss>) {
    super(data);
  }
}
export interface SsRelations {
  // describe navigational properties here
}
export type SsWithRelations = Ss & SsRelations;

但是在最初发出 POST 请求时,它只显示名称而不是 ID。如果我只添加 name 显然它给出了 id not specified 错误。在为 POST 请求添加 id 后,它给出了 422 验证错误

4

2 回答 2

1

请检查下面的链接,似乎控制器中排除了一个错误openapiid架构

我有同样的问题,那里的人指导我。 为什么 Loopback + mongodb 不工作

于 2019-09-03T18:48:34.507 回答
1

您需要将 id 作为字符串,不需要和生成:true。然后环回将对象 id 保存为字符串意味着如果对象 id 是 ObjectId("507f1f77bcf86cd799439011") 那么它只在数据库中保存 '507f1f77bcf86cd799439011'。另一种解决方案是将 id 作为数字并编写代码以自动增加 id

于 2019-09-05T04:06:38.057 回答