簡體   English   中英

如何在ResponseType屬性(asp.net webapi)中設置json格式?

[英]How to set json format in ResponseType attribute (asp.net webapi)?

我的控制器的操作返回IHttpActionResult。 在項目中,我使用snake_case作為json格式,因此將自定義ContractResolver添加到json設置中:

JsonSerializerSettings = new JsonSerializerSettings { ContractResolver = new SnakeCasePropertyNamesContractResolver() };

這就是我格式化回復的方式:

return new JsonResult<UserInfoModel>(new UserInfoModel(user.UserInfo), JsonSerializerSettings, Encoding.Unicode, this);

對於自動生成的文檔,我將[ResponseType]屬性添加到方法中。 但是文檔使用camelCase格式表示響應示例。

如何在ResponseType屬性中設置json格式?

您是否在global.asax.vb中嘗試了以下操作:

    GlobalConfiguration.Configuration.Formatters.Clear()
    GlobalConfiguration.Configuration.Formatters.Add(New JsonMediaTypeFormatter())

    WebApiConfig.Register(GlobalConfiguration.Configuration)
    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters)

找到一個解決方案:

var jsonFormatter = config.Formatters.OfType<JsonMediaTypeFormatter>().First();
jsonFormatter.SerializerSettings.ContractResolver = new SnakeCasePropertyNamesContractResolver();
config.Formatters.Add(new JsonMediaTypeFormatter());

到WebApiConfig.cs

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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