asp.net-web-api – Net Web API – 如何在Get上传递URL作为输入参数
|
我试图从Angular REST调用将URL作为输入参数传递给ApiController. URL作为查询字符串(这是SharePoint中的提供商托管应用程序,我需要URL来查询SP FWIW). 这是ApiController中的方法签名: // GET: api/ProjectSite/5
public IEnumerable<ProjectSite> Get(string id)
{
return ProjectSite.GetAllProjectSites(id);
}
这是我在Angular中进行调用的地方: var spUrl = "'" + getParameterByName("SPHostUrl") + "'";
var queryUrl = "/api/ProjectSite/" + encodeURIComponent(spUrl);
return $http.get(queryUrl);
这会生成一个如下所示的GET请求: https://localhost:12345/api/ProjectSite/https%3A%2F%2Fcompany.sharepoint.com%2Fsites%2Fsite_dev%2Fweb 当我这样做时,我得到’HTTP 400(错误请求)’.如果我停止在Angular代码中的断点并将输入参数更改为一个简单的字符串(例如’asdf’),则会进行REST调用,并且我会看到Api被调用.如果我不更改字符串并在Get Api方法中放置断点,则不会到达断点,表明代码在路由引擎中的某处爆炸. 我没有得到的是,虽然它的编码,我试图传递的字符串应该仍然被视为一个字符串,对吧?我也尝试将输入更改为Uri,但这似乎不起作用(并且Uri未列为支持的输入类型,无论如何). 有谁知道如何传递URL作为输入参数? 解决方法您是否尝试使用查询字符串调用它?var queryUrl = "/api/ProjectSite?id=" + encodeURIComponent(spUrl); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 在ASP.NET MVC中禁用布局?
- asp.net核心 – 我需要哪个包在asp.net 5中的图像?
- asp.net-mvc – 具有输出参数的ExecuteSqlCommand
- asp.net – 拒绝访问web.config中的“admin”文件夹
- asp.net-web-api – 在asp.net web api中有两个参数的方法
- asp.net – 无法在应用程序级别下定义元素’buildProviders
- asp.net – 如何禁用Web.Config中的目录浏览
- asp.net – 从1.7到1.9的迷你探查器升级破坏了现有代码
- asp.net – 实现安全的“记住我”的最佳实践
- asp.net – 要解决的JavaScript难题:window.confirm = div
