Node.js 环回4 POST方法给出422错误
我正在使用环回mongodb连接器将环回4连接到mongodb 我创建的模型只有两个字段id和name,这两个字段都是必需的。还创建了存储库和控制器。但当我发出POST请求时,它给出了422个错误 这是我的模型Node.js 环回4 POST方法给出422错误,node.js,mongodb,typescript,loopback4,Node.js,Mongodb,Typescript,Loopback4,我正在使用环回mongodb连接器将环回4连接到mongodb 我创建的模型只有两个字段id和name,这两个字段都是必需的。还创建了存储库和控制器。但当我发出POST请求时,它给出了422个错误 这是我的模型 import { Entity, model, property } from '@loopback/repository'; @model({ settings: { strict: false } }) export class Ss extends Entity {
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;
从'@loopback/repository'导入{Entity,model,property};
@模型({settings:{strict:false}})
导出类Ss扩展实体{
@财产({
键入:“编号”,
id:是的,
要求:正确,
})
id:编号;
@财产({
键入:“字符串”,
要求:正确,
})
名称:字符串;
[道具:字符串]:任何;
构造函数(数据?:部分){
超级(数据);
}
}
导出接口关系{
//请在此处描述导航属性
}
导出类型SsWithRelations=Ss&SsRelations;
但在最初发出POST请求时,它只显示名称而不是id。如果我只添加名称,显然它给出的id不是指定的错误。在为POST请求添加id后,它给出了422个验证错误失败请检查下面的链接,它似乎存在
openapi
的错误,该id
被排除在控制器is架构中
我也有同样的问题,那里的人指导我。
您需要将id作为字符串,非必需且已生成:true。然后,环回将对象id保存为字符串意味着如果对象id为ObjectId(“507f1f77bcf86cd799439011”),则在数据库中仅保存“507f1f77bcf86cd799439011”。
另一个解决方案是将id作为数字,并为id的自动增量编写代码您介绍了如何解决它吗?我有两天忙着处理这个错误,尤其是在MongoDB数据源中。这在lb4中的模型json文件中的lb3中是可能的。我们应该在哪里做呢?您必须在DE模型目录中的MODELNAME.ts文件中找到它