当我通过JsonDataContractCodec将对象作为JSON返回时,OpenRasta将Content-Type标头设置为
application / json
但忽略内容类型的charset部分。
当我使用Chrome时,它会发送带有以下标题的GET请求:
接收字符集:窗口-1251,UTF-8,Q = 0.7,*; Q = 0.3
我所有的utf-8编码的json对象出错了。
我试图在没有运气的情况下覆盖OperationResult。 OpenRasta用编解码器的一个覆盖我的标题。
答案 0 :(得分:0)
刚刚找到一种方法 - 从JsonCoder继承并应用MediaTypeAttribute
:
[MediaType("application/json; charset=utf8")]
public class JsonWithEncoding:JsonDataContractCodec
{
}
注册处理程序:
ResourceSpace.Has
.ResourcesOfType<IEnumerable<ProfileResource>>()
.AtUri("/profiles")
.HandledBy<ProfileHandler>()
.TranscodedBy<JsonWithEncoding>();
但这种方式非常静态:(