如何在 ResponseType 属性(asp.net webapi)中设置 json 格式?
How to set json format in ResponseType attribute (asp.net webapi)?
我的控制器的操作 return 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] 属性添加到方法中。但是文档使用驼峰式格式来响应示例。
如何在 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
我的控制器的操作 return 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] 属性添加到方法中。但是文档使用驼峰式格式来响应示例。
如何在 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