【发布时间】:2015-12-17 13:07:23
【问题描述】:
我正在尝试在 Angular 应用程序中使用 $http.get 访问 Web API GET 控制器,如下所示:
$http.get(BasePath + '/api/documentapi/GetDocuments/' ,
{
params: {
PrimaryID: ID1,
AlternateID: ID2,
}
}).then( ...
在我的情况下,PrimaryID 或 AlternateID 将具有该值。因此,其中之一将始终为空。
我的 Web api 方法是
public DocumentsDto[] GetDocuments(decimal? PrimaryID, decimal? AlternateID)
{ ...
当其中一个值为null时,$http.get生成的url如下:
http://BaseServerPath/api/documentapi/GetDocuments/?PrimaryID=1688
或
http://BaseServerPath/api/documentapi/GetDocuments/?AlternateID=154
这不会影响我的 Web API 方法。
但是如果我使用
http://BaseServerPath/api/documentapi/GetDocuments/?PrimaryID=1688&AlternateID=null
它有效。我可以在参数中将这些值硬编码为 null,但是我想知道是否有任何正确的方法可以实现这一点。
谢谢, 山姆
【问题讨论】:
-
请在后端分享web api代码。
-
这与 WebApi 的关系比与 Angular 的关系更大,请参阅post
-
您的参数可以为空。所以你可以传递空值。但是无论如何您都需要在url中传递参数名称
-
@RobJ 谢谢你的帖子。这解决了问题。是的,现在我看到它与 WebApi 一起使用。我将在这里发布相同的解决方案以及答案。
标签: angularjs asp.net-web-api2 angular-http