我的控制器的动作返回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格式作为响应exmaples。
如何在ResponseType属性中设置json格式?
答案 0 :(得分:1)
您是否尝试过global.asax.vb中的以下内容:
GlobalConfiguration.Configuration.Formatters.Clear()
GlobalConfiguration.Configuration.Formatters.Add(New JsonMediaTypeFormatter())
WebApiConfig.Register(GlobalConfiguration.Configuration)
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters)
答案 1 :(得分:0)
找到解决方案:
添加
var jsonFormatter = config.Formatters.OfType<JsonMediaTypeFormatter>().First();
jsonFormatter.SerializerSettings.ContractResolver = new SnakeCasePropertyNamesContractResolver();
config.Formatters.Add(new JsonMediaTypeFormatter());
到WebApiConfig.cs