[英]How to set Content-Type header charset in OpenRasta
當我通過JsonDataContractCodec以JSON格式返回對象時,OpenRasta將Content-Type標頭設置為
應用程序/ json
但忽略內容類型的字符集部分。
當我使用Chrome時,它發送帶有以下標頭的GET請求:
接受字符集:windows-1251,utf-8; q = 0.7,*; q = 0.3
而且我所有utf-8編碼的json對象都出錯了。
我沒有運氣就試圖覆蓋OperationResult。 OpenRasta用編解碼器的頭覆蓋了我的頭。
剛剛找到了一種方法-從JsonCoder繼承並應用MediaTypeAttribute
:
[MediaType("application/json; charset=utf8")]
public class JsonWithEncoding:JsonDataContractCodec
{
}
並使用以下命令注冊處理程序:
ResourceSpace.Has
.ResourcesOfType<IEnumerable<ProfileResource>>()
.AtUri("/profiles")
.HandledBy<ProfileHandler>()
.TranscodedBy<JsonWithEncoding>();
但是這種方式非常靜態:(
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.