gpt4 book ai didi

angularjs - 带有空参数的 $http.get 没有命中 Web API Controller

转载 作者:行者123 更新时间:2023-12-04 06:48:57 25 4
gpt4 key购买 nike

我正在尝试在 angular 应用程序中使用 $http.get 访问 Web API GET Controller ,如下所示:

$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,但是我想知道是否有任何正确的方法来实现这一点。

谢谢,
山姆

最佳答案

我从@RobJ 得到了正确答案。他已经发布了答案的链接。我也在这里粘贴相同的答案。解决方案是为 Web API 参数设置默认值。

public string GetFindBooks(string author="", string title="", string isbn="", string  somethingelse="", DateTime? date= null) 
{
// ...
}

就我而言,它将是
public DocumentsDto[] GetDocuments(decimal? PrimaryID = null, decimal? AlternateID = null)
{ ...

关于angularjs - 带有空参数的 $http.get 没有命中 Web API Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34335370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com