如何使 ServiceStack v3 符合 jsonapi.org 标准?
How can I make ServiceStack v3 conform to jsonapi.org standards?
我正在尝试将 Ember.js 前端与 ServiceStack v3 后端结合使用。我 运行 遇到的问题是 Ember 数据预期 JSON 按照 jsonapi.org 标准,如下所示:
[{"clients":
[
{"clientID":80,"name":"Test Client 6","acronym":"TCL6","website":"http://www.tcl6.com"},
{"clientID":81,"name":"Test Client 7","acronym":"TCL7","website":"http://www.tcl7.com"}
]
}]
但是ServiceStack将数据序列化为如下:
[{"ClientID":80,"Name":"Test Client 6","Acronym":"TCL6","Website":"http://www.tcl6.com"},
{"ClientID":81,"Name":"Test Client 7","Acronym":"TCL7","Website":"http://www.tcl7.com"}]
迫使我在前端实现自定义逻辑,以 "massage" 将数据转换为适当的格式。我想避免在客户端执行此转换并将其直接实现到后端的响应中。
如有任何帮助或指导,我们将不胜感激。
谢谢!
你可以实现一个序列化器,像这样:
App.ClientSerializer = DS.RESTSerializer.extend({
normalizePayload: function(payload) {
return {
"client": payload
};
}
});
您可以告诉 ServiceStack 的 JSON 序列化程序发出 camelCase
属性 名称:
JsConfig.EmitCamelCaseNames = true;
您还需要使用与您想要 return 的 JSON 形状匹配的类型,例如:
public class JsonApiClients
{
public List<Client> Clients { get; set; }
}
我正在尝试将 Ember.js 前端与 ServiceStack v3 后端结合使用。我 运行 遇到的问题是 Ember 数据预期 JSON 按照 jsonapi.org 标准,如下所示:
[{"clients":
[
{"clientID":80,"name":"Test Client 6","acronym":"TCL6","website":"http://www.tcl6.com"},
{"clientID":81,"name":"Test Client 7","acronym":"TCL7","website":"http://www.tcl7.com"}
]
}]
但是ServiceStack将数据序列化为如下:
[{"ClientID":80,"Name":"Test Client 6","Acronym":"TCL6","Website":"http://www.tcl6.com"},
{"ClientID":81,"Name":"Test Client 7","Acronym":"TCL7","Website":"http://www.tcl7.com"}]
迫使我在前端实现自定义逻辑,以 "massage" 将数据转换为适当的格式。我想避免在客户端执行此转换并将其直接实现到后端的响应中。
如有任何帮助或指导,我们将不胜感激。
谢谢!
你可以实现一个序列化器,像这样:
App.ClientSerializer = DS.RESTSerializer.extend({
normalizePayload: function(payload) {
return {
"client": payload
};
}
});
您可以告诉 ServiceStack 的 JSON 序列化程序发出 camelCase
属性 名称:
JsConfig.EmitCamelCaseNames = true;
您还需要使用与您想要 return 的 JSON 形状匹配的类型,例如:
public class JsonApiClients
{
public List<Client> Clients { get; set; }
}