以下列类型定义为例创建简单的ASP.NET Core的WebApi函数,此时输入参数和返回结果的属性名称开头默认为小写,如下图所示。
public class UserInfo
{
public string UserName { get; set; }
public string UserSex { get; set; }
public string UserPassword { get; set; }
public bool IsKeyUser { get; set; }
}
如需所有函数的输入和返回类型中的属性名称与类型定义保持一致,可以在Program.cs文件中设置如下代码,运行效果如下图所示:
builder.Services.AddControllers().AddJsonOptions(
config =>
{
config.JsonSerializerOptions.PropertyNamingPolicy = null;
});
如果仅需设置WebApi函数输入和返回类型中的部分属性名称与类型定义保持一致,可以用JsonPropertyName特性在类型定义中标记并设置属性在序列化和反序列化为json字符串时的名称,代码及运行效果如下所示:
public class UserInfo
{
[JsonPropertyName("UserName")]
public string UserName { get; set; }
public string UserSex { get; set; }
public string UserPassword { get; set; }
[JsonPropertyName("IsKeyUser")]
public bool IsKeyUser { get; set; }
}
参考文献:
[1]https://www.5axxw.com/questions/content/cbtsgl
[2]https://blog.51cto.com/u_11990719/3158885