Spring boot 从Ember js(Ember cli)向Spring启动应用程序发布请求
这是我在发出POST请求时从Ember js获得的JSON格式。我使用RestAdapter进行API调用Spring boot 从Ember js(Ember cli)向Spring启动应用程序发布请求,spring-boot,ember.js,Spring Boot,Ember.js,这是我在发出POST请求时从Ember js获得的JSON格式。我使用RestAdapter进行API调用 `{ "programmer": { "firstName": "Janaki", "lastName": "Rathinam" } }` 但我的弹簧靴只能接受 { "Programmer": { "id": 1, "firstName": "Maha", "lastName": "Shankar"
`{
"programmer": {
"firstName": "Janaki",
"lastName": "Rathinam"
}
}`
但我的弹簧靴只能接受
{
"Programmer": {
"id": 1,
"firstName": "Maha",
"lastName": "Shankar"
}
}
如何解决这个不匹配的JSON,以便我可以从emberjs进行POST调用。
添加序列化程序可以解决我的问题吗?如果是,如何为此编写序列化程序?您可以使用payloadKeyFromModelName覆盖传出请求的根密钥。默认情况下,RESTSerializer返回模型名称的简化版本 对于名为Programmer的模型,其模型名将是字符串
Programmer
。RESTSerializer将其发送到服务器,并将编程器作为JSON负载中的根键:
{
"programmer": {
"firstName": "Janaki",
"lastName": "Rathinam"
}
}
在您的情况下,您可能需要大写的根对象:
首先运行$ember生成序列化程序应用程序
,然后包括以下内容:
app/serializers/application.js
import DS from 'ember-data';
import { capitalized } from '@ember/string';
export default DS.RESTSerializer.extend({
payloadKeyFromModelName(modelName) {
return capitalized(modelName);
}
});
结果将是一个大写为p的根:
{
"Programmer": {
"firstName": "Janaki",
"lastName": "Rathinam"
}
}
余烬文件: