【发布时间】:2025-11-26 00:35:01
【问题描述】:
我正在创建一个 ASP.NET Core API,我的用户有一个角色,就像这样
class User
{
public Guid Id {get; set;}
public string Email {get; set;}
public Role Role {get; set;}
}
enum Role : byte
{
User = 0,
Administrator = 1
}
现在的问题是,我的用户 CreateOrUpdate 端点正在获取此 JSON 数据
{
"id": "2abe50d6-4c81-4ace-ad95-c8182d4384a3",
"email": "someEmail@example.org",
"role": "0"
}
这是有问题的端点声明
public User CreateOrUpdate([FromBody] User user)
{
// ...
}
它无法反序列化它,因此返回HTTP 400 Bad Request。但是,如果我删除 role 属性的 0 周围的引号,它就像一个魅力。
那么,如何让 ASP.NET Core 将 "0" 反序列化为 0 以及枚举变体 User?
【问题讨论】:
标签: c# json asp.net-core system.text.json