繁体   English   中英

ASP.NET Core API不接受可空类型的空值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM