我有简单的.net核心wep api应用程序,带有这样的控制器方法
[HttpGet("{id}")]
public ActionResult Get(int id)
{
var myObj= _testRepository.TryGetById(id);
if (myObj== null)
{
return new NotFoundResult();
}
return new JsonResult(myObj);
}
此方法返回带标题的json响应
Content-Type application/json; charset=utf-8
Date Sat, 26 Aug 2017 12:01:00 GMT
Server Kestrel
Transfer-Encoding chunked
我需要将 charset = utf-8 标题更改为 charset = utf-16 。我怎么能这样做?
更新
我想更改 charset 标头,因为我需要将json响应中的字符串字段转义为
{ "city": "\u0420\u043e\u0441\u0431\u0438\u0440\u0441\u043a"}
通过更改Startup.cs
public void ConfigureServices(IServiceCollection services)
{
...
services.AddMvc();
...
}
=>
public void ConfigureServices(IServiceCollection services)
{
...
services.AddMvc().AddJsonOptions(options =>
{
options.SerializerSettings.StringEscapeHandling = StringEscapeHandling.EscapeNonAscii;
});
...
}
但我真的很困惑,我还没有在网上找到有关如何更改默认 charset 标头的任何信息。我认为任何api框架都必须是微不足道的操作。