如何在响应类型属性 (asp.net webapi 中设置 json 格式



我的控制器的操作返回IHttpActionResult。在项目中,我使用 snake_case 作为 json 格式,因此我将自定义合同解析器添加到 json 设置中:

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

这就是我格式化响应的方式:

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

对于自动生成的文档,我将 [响应类型] 属性添加到方法中。但是文档使用驼峰大小写格式作为响应示例。

如何在响应类型属性中设置 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

相关内容

  • 没有找到相关文章

最新更新