[英]ASP.NET Core API not accepting null value for a nullable type
我有一个GET请求API端点,它接收一个具有Nullable属性的请求View Model,如下所示:
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
}
但是当我使用null
值对MakeId
发出get请求时,API不接受此可空类型的null
值。
这是我的获取请求: https://localhost:44311/api/model/getlist?MakeId=null
我收到以下错误:
The value 'null' is not valid for MakeId.
MakeId是Nullable<uint>
但查询字符串中的MakeId=null
null
只是一个字符串值,无法解析为uint。 只是从你的请求中省略它以使其为null:
https://localhost:44311/api/model/getlist
你可以做这样的事情来包括makeid,如果它不是null:
string url = $"https://localhost:44311/api/model/getlist(makeid == null?"":"?makeid=" + makeid)";
它实际上是接收字符串“null”,不能将其转换为uint
。
如果省略它,该值将为null。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.