【发布时间】:2018-05-23 00:42:18
【问题描述】:
我有一个 .NET Core Web API。开箱即用,我知道它在从您制作的端点获取数据时为您提供 camelCase JSON。我决定在我的ConfigureServices 中使用这段代码将这个默认行为更改为蛇形案例:
services.AddMvc().AddJsonOptions(options =>
{
options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
options.SerializerSettings.ContractResolver = new DefaultContractResolver()
{
NamingStrategy = new SnakeCaseNamingStrategy()
};
});
这很好用,当我从端点请求数据时,它会在 snake_case 中为我提供 JSON。但是,现在当我为POST 请求提供camelCase JSON 时,它不起作用。我喜欢将我的 JavaScript camelCase 保留在前端,因此在发送数据时最好使用 camelCase。例如,如果我想发送数据,我必须这样做:
obj: {
some_key: "value" // works
someKey: "value" // doesn't work
}
那么,问题来了:有没有办法将我的 JSON 从 API 端点输出为snake_case,但也让它接受 POST 正文和其他数据的 camelCase?
【问题讨论】:
标签: .net json asp.net-mvc api .net-core