问题标签 [url-template]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
339 浏览

rfc - RFC 6570 URL 模板:/ 与其他前缀的作用

我最近阅读了一些:https ://www.rfc-editor.org/rfc/rfc6570#section-1

我发现了以下 URL 模板示例:

这些似乎是矛盾的。

在第一个中,似乎/替换了 ,在第二个中,似乎保留了, 。

因此,我想知道这个特定的 RFC 中是否存在不一致之处。我是这些 RFC 的新手,所以也许我不完全了解这些 RFC 背后的文化。

0 投票
1 回答
3044 浏览

routing - Web api 路由:可选参数

我有这条路线:

“id”应该是可选的,“myparam”也应该是可选的,但如果设置了“myparam”,则“id”不能是可选的。我该如何配置?

0 投票
1 回答
797 浏览

c# - 使用 ASP.NET Web API 创建基于路由的模板化 href

在 Web API 控制器中添加指向资源表示的链接非常容易。使用控制器的Url属性(属于UrlHelper类),您可以使用路由名称构建链接的 href,如下所示:

的值href是根据路由配置计算的 - 在这种情况下类似于http://example.org/api/products/123. 这很棒,因为我可以调整路线配置,而无需更新所有生成 href 的地方。发出的所有链接都符合新配置。

但是这个,或者任何类似的基于路由的技术,可以用来创建模板化的href吗?例如,要使用 HAL 的templated链接属性创建从某个资源到任意产品的链接:

(我真的没有一个叫做 productfinder 的资源——只是这个问题的一个人为的例子)。

我尝试将routeValues参数设置为模板的字符串,例如

这会产生一个 URL 编码的字符串:http://example.org/api/products/%7BproductId%7D. 我可以使用.Replace,但这种方法因另一个原因而失败。如果路由配置具有类型约束,例如{id:int},则 href 变为 null。

我尝试将 null 传递给routeValues希望我可以附加模板部分。 Link()返回null,所以href最终只是模板部分。另外,这不适用于复杂的路线,例如api/{this}/something/{that}{?q}

所以我被困住了。我可以使用路由来生成模板化的 href 吗?如果是这样,怎么做?

0 投票
0 回答
188 浏览

c# - System.UriTemplate.BindByName 和 WebApi 数组绑定

我正在使用 UriTemplate (System.ServiceModel) 将模板绑定到对象并创建 url

=>

预期结果将适用于 webapi 端点,但实际不作为逗号分隔参数的约定不是官方的,并且不受 web api 支持

有没有办法可以得到预期的结果?

我确实需要使用 url 模板来绑定值(例如{one}/two/{three}),尽管不一定来自 System.ServiceModel 的 UriTemplate - WebApi 使用什么?暴露了吗?

0 投票
3 回答
3778 浏览

testing - 在 Angular 2.0.0 测试中加载 .html 失败

我对 Angular 2.0.0 中的 TestBed 有疑问

给定组件:

我得到错误:

我认为这可能是因为配置设置不正确。我正在使用 gulp 将 TypeScript 预编译为 JavaScript,并且我有以下项目结构:

但是如果我假设 html 文件是预编译的,并.compileComponents()从测试中删除命令,我会收到以下错误:

如果我删除async,我会收到此错误:

karma-test-shim.js中,我有:

我希望有人可以帮助我弄清楚我在配置中做错了什么。

0 投票
1 回答
813 浏览

javascript - 在 angularjs 之外访问 $state

我有一个 angularjs 应用程序。该应用程序应该是适用于 android 和 iOS 的混合移动应用程序。我在项目中有一个 JavaScript 文件,它不属于任何模块。在那个 JavaScript 文件中,我需要通过 $state 或任何也加载控制器的方法来调用相应的模板 URL。

对于 $scope,我发现了许多在 angularjs 项目之外访问它的方法,但对于 $state 却找不到相同的方法。

0 投票
1 回答
25842 浏览

java - 如何使用 URI 模板在 java 中更改 URL 中的路径参数

我按照此处提供的教程用给定值替换路径参数并运行下面给出的示例代码

但是当我编译代码时它给了我这个错误

Exception in thread "main" java.lang.IllegalArgumentException: The template variable 'age' has no value

请帮我解决这个问题,(可能是我的进口导致问题)

0 投票
1 回答
104 浏览

rest - “/literal/{param}/literal”是 WCF 宁静服务的有效 url 模板吗

我正在尝试使用以下 URL 模板将新端点添加到基于 WCF 的 REST 服务:

但它给出了一个错误说:

UriTemplate ' /books/*/pdf' 无效;通配符 ('*') 不能出现在变量名或文字中,除非作为通配符段的构造。请注意,通配符段(文字或变量)仅作为模板中的最后一个路径段有效;通配符只能出现一次。有关更多详细信息,请参阅 UriTemplate 的文档。

这是服务合同:

这是变量仅作为 url 的最后一部分有效的限制吗?我找不到任何可以证实这一点的链接。