簡體   English   中英

如何在OpenRasta中設置Content-Type標頭字符集

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM