我有一个GET请求API端点,该端点接收具有如下Nullable属性的请求视图模型:
public class ModelRequestVM : BaseRequestVM
{
#region Properties and Data Members
public uint ModelId { get; set; }
public uint? MakeId { get; set; }
public string MakeName { get; set; }
public string ModelName { get; set; }
public uint? ExternalModelId { get; set; }
#endregion
}
但是当我请求使用MakeId
值的null
的获取请求时,API不接受这种可空类型的null
值。
这是我的获取请求:https://localhost:44311/api/model/getlist?MakeId=null
我收到以下错误:
The value 'null' is not valid for MakeId.
答案 0 :(得分:6)
MakeId是Nullable<uint>
,但是查询字符串MakeId=null
中的null
只是一个字符串值,不能将其解析为uint。只需从您的请求中将其忽略即可使其为空:
https://localhost:44311/api/model/getlist
如果不为null,则可以执行以下操作以包含makeid:
string url = $"https://localhost:44311/api/model/getlist(makeid == null?"":"?makeid=" + makeid)";
答案 1 :(得分:4)
它实际上正在接收字符串“ null”,并且无法将其转换为uint
。
如果省略,则该值为null。