问题标签 [uritemplate]

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 投票
2 回答
2866 浏览

java - 用于在 URI 模板 (RFC 6570) 中提取值的独立 Java 实现?

是否有 Java 独立实现来提取 URI 中由 URI-Template (RFC 6570) 定义的参数值?

我发现的最佳实现是 ruby​​ 实现(https://github.com/sporkmonger/addressable

通过http://code.google.com/p/uri-templates/wiki/Implementations我找到了一个 Java 实现:Handy-URI-Templates

它支持将带有参数值的 URI-Template 解析为最终 URI。不幸的是,它不能做相反的事情:根据 URI-Template 提取 URI 中的参数值。

JAX-RS(或 Restlet)的实现在内部具有此功能。但似乎没有人能够独立使用这个可以独立使用的功能模块。

有人有其他想法吗?


这是使用 spring-Web 的示例:

另一个泽西岛(JAX-RS 实现):

带接口:

0 投票
1 回答
200 浏览

wcf - 具有基于 URI/URL 的功能的 WCF Web 服务

我正在使用 WCF 服务替换旧的 CMS 托管 API。

对于旧系统/数据库中的每个客户端站点,它的工作方式如下:

clientdomain.com从hostingdomain.com/clientdomain/api.xml的 URL 中提取其内容 (XML) (.xml 扩展名实际上是一个经典的 ASP 页面,它基于 clientdomain 导出为 XML)

例如:来自 hostingdomain/clientdomain/photos/api.xml 的 clientdomain.com/photos 提要

并且所有客户端域都使用相同的 api.xml 文件,如 hostingdomain/ clientdomain2 /photos/api.xml等。

我猜在界面设置中像:

我可以/如何将URITemplate中的客户端域更改为从我从数据库获得的列表/数组中提供数据?...或类似的东西,以便它知道 /client1/photos 和 /client2/photos 可用作 UriTemplates?还是我遗漏了什么?...我在 WCF 中遇到了整个 URI/URL 问题...

我可以做一些不同的事情并使用像photos.clientdomain.com这样的东西并将所有域添加为主机头和......??......沿着这条路线?无论是 WCF 和所有爵士乐中的最佳实践和安全。

这样做的目的是最终移动应用程序和网站都将从这个 WCF 中提取。(以及随后的推/拉管理应用程序)

旧系统使用了一些非常有趣的 IIS 诡计和经典的 asp 东西,而我将留下一些东西......所以......有什么想法吗?

0 投票
1 回答
1643 浏览

wcf - 在 WCF 中,我可以在 UriTemplate 的文字段中使用通配符吗?

我正在使用 .Net 4.0 创作一个 RESTful WCF 服务。我想要以下两个网址:

映射到相同的接口成员:

我尝试将通配符放入文字 URL 段:

但是,这是无效的,我得到以下异常:

如果我将通配符段包装在模板大括号中:

然后我得到一个异常,因为方法参数中没有这样的输入参数:

我的解决方法是简单地有两个条目,指向不同的方法,然后让这些方法调用一个通用实现:

但这似乎有点丑陋。

我已阅读文档,无法找到这一点的具体地址。有什么方法可以在 WCF 中使用通配符文字段吗?或者这在 WCF 中是不可能的吗?

0 投票
0 回答
112 浏览

wcf - 为什么 WCF 服务正在获取旧的参数值

我已经设置了两个项目。一是WCF服务项目,合同如下:

其他项目使用此 WCF 服务。当我使用其他一些参数调用 WCF 服务时,参数值filterName和第一次调用发送的值保持不变。filterValue

为什么 WCF 服务会保留参数的值?

0 投票
1 回答
2540 浏览

wcf - WCF UriTemplate UrlEncode

想象一下,我想使用 WCF 调用外部(意味着我无法控制合同)REST 服务。我有以下合同

假设我的参数之一是正斜杠 (/)

如何强制 WCF 对我的 UriTemplate 路径参数进行 UrlEncode?

0 投票
1 回答
1350 浏览

wcf - 具有不同参数的多种方法 WCF REST

我被赋予了使用 WCF REST 实现以下任务的任务:

这本身不是问题,但问题是所有这些函数都需要不同的参数。例如, POST 方法采用WSDevice,而 GET 方法采用WSCollectionQuery作为参数(用于查询 well .. 集合)。所有 4 种方法都采用不同的参数,但必须通过/device Uri 访问。

这在 REST 中应该是可能的(根据http://pages.apigee.com/web-api-design-ebook-thank-you-download.html?aliId=1911411,我首先从那里得到了表格。见第 7 页)。

我目前拥有的:

因此,基本上我希望拥有相同的 UriTemplate,但结果不同,具体取决于消息正文中传递的参数。我知道我在 Uri 中添加了上面的参数,但这只是为了尝试区分 Uri。

我得到的错误如下:

我知道为什么我会收到此错误。我想知道的是如何解决这个问题?我已经研究过有一个函数采用Method = "*"可以工作,但是除了在函数中传递的参数之外,我无法访问任何参数。

如果有人知道这个问题的解决方案,或者可以说如果不是的话,那是不可能的,那将非常非常感谢!

编辑:我现在也知道您不能在 GET 中传递复杂类型,但这是一个可以解决的问题。

0 投票
1 回答
1836 浏览

java - URI 模板需要与作为一组文件夹的变量值匹配

我正在使用 org.springframework.web.util.UriTemplate 并且我正在尝试匹配这个 uri 模板:

使用以下 uri:

目前我得到以下uri变量:

但我想获得以下 uri 变量:

我尝试在模板中使用通配符作为 * 或 +,但这似乎不起作用:

已编辑

0 投票
1 回答
1465 浏览

rest - 在 wso2 esb 中创建休息服务时使用多个 Uri 模板

我创建了一个休息服务:

在我的 InSequence GetNotificationsIN我的有效载荷是:

现在,我在这里传递了一个参数,即 ID,并且工作正常。但是我实现其余服务的实际服务接受五个参数,它们是 ID、标签、源、状态和类别。在实际服务中,我可以传递任何一个参数,即 ID、标签、来源、状态或优先级,服务会根据传递的参数给我数据。

类似地,我想在我的休息服务中做同样的事情,即在 uri 模板中我想实现这五个参数,从而使五个 uri 模板变量被逻辑或分隔,这样如果我用任何 uri 打休息服务的 url模板它应该给我来自实际服务的响应。我怎样才能做到这一点?提前致谢

0 投票
4 回答
7188 浏览

wcf - WCF 中 UriTemplate 中的可选参数

我在这个线程中使用了提示并提供了一个默认值,所以当用户没有指定虚拟子目录时,我假设他的意思是要列出所有的东西。有用。

但是,最好指定一个默认值,而不是。但是,default(String),我想发送一个实际值。特别是,我已经把我的心放在了String.Empty上。但是,我注意到以下内容不起作用。服务器端的条件无法识别空字符串(...where 'type' in (ColName, '', 'all'))。

该怎么办?

0 投票
1 回答
664 浏览

c# - WCF 接口上 UriTemplate 的更改导致整个服务失败。

这是我第一次尝试通过托管在 Windows 服务中的 WCF 提供服务。我注意到,如果我在 UriTemplate 中做错了什么,它会完全破坏一切,我不知道为什么。

例子:

在第一个代码示例中,一切正常。该服务等待我定义的基地址并返回我期望的信息。

在这个示例中,我将所有内容更改UriTemplate = "/GetDetail?id={id}"UriTemplate = "/GetDetail/{id}"中断。该服务甚至不等待我配置的基地址。

我不明白这种变化如何导致一切都失败?它不应该只是无法处理 GetDetail 调用而不破坏整个系统吗?

还要对此进行扩展,如何将日志记录添加到我的服务中。