Sails.js 如何在post请求中使用sailsjs模型遵守guid主键
如果没有提供id,我想使用新的guid,但如果提供id,则使用该id。 如果新guid存在,我希望更新而不是创建新实例 如果我发送 { “名称”:“第一次报告”, “id”:“255af682-43c9-4d75-b0fb-7664ff51304b”, “拥有人”:9 } 通过邮递员对{{url}}/report的post请求-我运行sailsjs的服务器。。。第二次创建新记录时 我试过了Sails.js 如何在post请求中使用sailsjs模型遵守guid主键,sails.js,postman,Sails.js,Postman,如果没有提供id,我想使用新的guid,但如果提供id,则使用该id。 如果新guid存在,我希望更新而不是创建新实例 如果我发送 { “名称”:“第一次报告”, “id”:“255af682-43c9-4d75-b0fb-7664ff51304b”, “拥有人”:9 } 通过邮递员对{{url}}/report的post请求-我运行sailsjs的服务器。。。第二次创建新记录时 我试过了 if ( values.hasOwnProperty('id') ) {
if ( values.hasOwnProperty('id') ) {
/* ignore */
} else {
values.id = uuid.v4();
}
但我第二次发布时,它没有注意到主键
这是报告模型
var uuid = require('node-uuid');
module.exports = {
attributes: {
id: {
type: 'string',
primaryKey: true
},
name: { type: 'string' },
owner: {
model: 'client'
}
},
beforeCreate: function(values, callback) {
if ( values.hasOwnProperty('id') ) {
/* ignore */
} else {
values.id = uuid.v4();
}
callback();
}
};
我通过将模型连接更改为使用mysql解决了这个问题
{
"error": "E_VALIDATION",
"status": 400,
"summary": "1 attribute is invalid",
"invalidAttributes": {
"PRIMARY": [
{
"value": "255af682-43c9-4d75-b0fb-7664ff51304b",
"rule": "unique",
"message": "A record with that `PRIMARY` already exists (`255af682-43c9-4d75-b0fb-7664ff51304b`)."
}
]
}
}