ExtJS REST 配置为 ID 提供模型名称
ExtJS REST configuration gives Model name to ID
我正在使用 ExtJS 5.1.1,在 POST
到 Java 服务器的过程中出现错误。数据库内部有几个字段,ID
是关键字段,由服务器自动生成。我只需要显示 3 个字段 create/update/delete; 名字、姓氏、电子邮件。我无法将 POST 的 ExtJS 配置为不触摸 ID,只能通过表单面板传递这三个字段。
这是一个示例记录的请求负载。正如您会注意到的那样,它将模型名称赋予 ID
:
{"firstName":"New","lastName":"Record","email":"new@record.com","id":"Employee.model.EmployeeMdl-2"}
因此 Java-Spring 服务器响应此消息:
"Could not read document: Can not deserialize value of type int from String "Employee.model.EmployeeMdl-1": not a valid Integer value↵ at [Source: java.io.PushbackInputStream@ae6769; line: 1, column: 74]
PUT
过程非常有效!你能给 POST
一些想法吗?
这是模型片段:
Ext.define('Employee.model.EmployeeMdl', {
extend: 'Ext.data.Model',
fields: [
{name: 'firstName', type: 'string'},
{name: 'lastName', type: 'string'},
{name: 'email', type: 'string'}
],
idProperty: 'id',
proxy: {
type: 'ajax',
headers: {
'Content-Type': 'application/json'
},
api: {
read: 'http://ip:port/orest/employee',
create: 'http://ip:port/orest/employee',
update: 'http://ip:port/orest/employee'
},
reader: {
type: 'json'
},
writer: {
type: 'json',
allowSingle: true,
encode: false,
writeAllFields: true
}
}
});
您可以为模型提供生成 ID 的特定方式。
如果需要整数,我可以推荐的是模型中的 Ext.data.identifier.Negative
. You would put the full class name into the requires section of the model and then just add the config identifier: 'negative'
。
当然,这意味着您必须告诉后端负 ID 表示新条目。
我正在使用 ExtJS 5.1.1,在 POST
到 Java 服务器的过程中出现错误。数据库内部有几个字段,ID
是关键字段,由服务器自动生成。我只需要显示 3 个字段 create/update/delete; 名字、姓氏、电子邮件。我无法将 POST 的 ExtJS 配置为不触摸 ID,只能通过表单面板传递这三个字段。
这是一个示例记录的请求负载。正如您会注意到的那样,它将模型名称赋予 ID
:
{"firstName":"New","lastName":"Record","email":"new@record.com","id":"Employee.model.EmployeeMdl-2"}
因此 Java-Spring 服务器响应此消息:
"Could not read document: Can not deserialize value of type int from String "Employee.model.EmployeeMdl-1": not a valid Integer value↵ at [Source: java.io.PushbackInputStream@ae6769; line: 1, column: 74]
PUT
过程非常有效!你能给 POST
一些想法吗?
这是模型片段:
Ext.define('Employee.model.EmployeeMdl', {
extend: 'Ext.data.Model',
fields: [
{name: 'firstName', type: 'string'},
{name: 'lastName', type: 'string'},
{name: 'email', type: 'string'}
],
idProperty: 'id',
proxy: {
type: 'ajax',
headers: {
'Content-Type': 'application/json'
},
api: {
read: 'http://ip:port/orest/employee',
create: 'http://ip:port/orest/employee',
update: 'http://ip:port/orest/employee'
},
reader: {
type: 'json'
},
writer: {
type: 'json',
allowSingle: true,
encode: false,
writeAllFields: true
}
}
});
您可以为模型提供生成 ID 的特定方式。
如果需要整数,我可以推荐的是模型中的 Ext.data.identifier.Negative
. You would put the full class name into the requires section of the model and then just add the config identifier: 'negative'
。
当然,这意味着您必须告诉后端负 ID 表示新条目。