我正在使用loopback-4构建API,并且在模型中有一个名为“ day”的属性,该属性是Date类型(MySQL列也是Date类型)。 但我无法在其中发布诸如“ 2019-09-09”之类的值,因为它想要诸如“ 2019-09-09T12:41:05.942Z”之类的内容。 如何指定必须为日期(没有时间)?
我很困惑,因为您可以在查询参数(日期类型)中传递“ 2019-09-09”,但不能在模型中传递
我目前在模型中具有以下属性:
@property({
type: Date,
required: true,
mysql: {
columnName: 'day',
dataType: 'date',
dataLength: null,
dataPrecision: null,
dataScale: null,
nullable: 'N',
},
})
day: Date;
预期:接受“ 2019-09-09”作为值
实际上:422:日期应与格式“日期时间”匹配
答案 0 :(得分:1)
我遇到了同样的问题,我使用 jsonSchema
来指定请求 JSON 的格式来解决它。
就您而言,您必须通过以下方式更改代码:
@property({
type: 'date', // Types in LoopBack4 are not case-sensitive so Date is the same than date
jsonSchema: {
format: 'date', //This can be changed to 'date-time', 'time' or 'date'
},
required: true,
mysql: {
columnName: 'day',
dataType: 'date',
dataLength: null,
dataPrecision: null,
dataScale: null,
nullable: 'N',
},
})
day: string; // Change this also
答案 1 :(得分:0)
应将类型更改为'date'
,而不是Date
。这将允许使用更灵活的日期模式:
@property({
type: 'date',
required: true,
mysql: {
columnName: 'day',
dataType: 'date',
dataLength: null,
dataPrecision: null,
dataScale: null,
nullable: 'N',
},
})
day: string;