问题标签 [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 投票
3 回答
8919 浏览

c# - 使用查询字符串参数消除 UriTemplate 匹配的歧义

我正在使用 WCF 4.0 创建一个 REST-ful Web 服务。我想做的是根据UriTemplate.

例如,我有一个 API,它允许用户使用他们的驾驶执照或他们的社会安全号码作为密钥来检索有关某人的信息。在我的ServiceContract/ 界面中,我将定义两种方法:

但是,当我使用这两种方法调用我的服务时,我得到以下异常:

UriTemplateTable 不支持具有与模板 'people?ssn={ssn}' 等效路径但具有不同查询字符串的多个模板,其中查询字符串不能全部通过文字值消除歧义。有关更多详细信息,请参阅 UriTemplateTable 的文档。

有没有办法做到这一点UriTemplates?这似乎是一个常见的场景。

非常感谢!

0 投票
1 回答
738 浏览

wcf - WCF 与其他服务的互操作性,内容类型为 text/html

我正在尝试创建一个 WCF 客户端,该客户端使用不基于 Microsoft 技术的 http rest 端点运行。我的 WCF-foo 很弱,所以我不明白我做错了什么......我创建了一个看起来像这样的服务合同......

我尝试像这样运行...

当我运行这段代码时,我得到一个异常,上面写着......

内容类型 text/html;响应消息的 charset=utf-8 与绑定的内容类型不匹配 (text/xml; charset=utf-8)。如果使用自定义编码器,请确保正确实现 IsContentTypeSupported 方法。响应的前 1024 个字节是:...

现在,如果我只是尝试从 Web 浏览器(使用不同的凭据)访问它,我会得到我正在寻找的 xml 文档... https://sendgrid.com/api/filter.getavailable.xml?api_user=foo&api_key =酒吧

我做错了什么?

编辑:

这是最终的工作解决方案......

0 投票
1 回答
1372 浏览

wcf - UriTemplate 中的 WCF Web Api 可选参数

如何在 WCF Web Api 的 UriTemplate 中声明可选参数?例如 :

我需要文化作为可选参数。如果没有通过文化,我想为该参数接收 null。

PS。我不想使用具有不同 UriTemplate 的多个 GetAll 方法创建解决方案...

0 投票
3 回答
2927 浏览

javascript - URI 模板:javascript 中是否有 rfc-6570 实现?

我正在使用节点和快递。要注册一个控制器,我调用:

但我想用rfc-6570 的方式来做:

我在谷歌代码上搜索了一个 python 实现,但没有找到 JavaScript 的任何内容(除了谷歌代码到http://www.snellspace.com/wp/?p=831的死链接)。

一般来说,URI 模板并不像第一眼看上去那么容易。查看 RFC 中的示例。

PS:我也需要客户端上的 URI 模板。

0 投票
1 回答
262 浏览

html - 对 uri-templates 有哪些支持?

我认为uri-templates对于基于 REST 的应用程序来说是一个非常有趣的特性。但是除了//把你最喜欢的语言放在这里//基于实现之外,我在 HTML 本身中看不到对它的任何支持。

似乎对它的支持是针对 WebForms2.0 的,如下所述:http: //blog.welldesignurls.org/2007/01/11/proposing-uri-templates-for-webforms-2/http://blog。 whatwg.org/proposing-uri-templates-for-webforms-20但根据WebForms2.0 页面,它被HTML5取代,据我所知,它没有提到模板。

所以我的问题是:HTML 中是否支持 URI 模板?如果没有:是否有这样的计划?或者是否有像一个新兴标准,每个人都在做的事情,并且可能在未来的某个时候最终成为一个标准?

0 投票
1 回答
9748 浏览

wcf - 通过 Web 浏览器调用操作合同

由于我是 WCF 的新手,并且在 IIS 中的虚拟目录Api(网址类似于http://localhost/api/taskapi.svc)中配置了 WCF 服务端点,因此我正在寻找通过 Web 浏览器发出请求的方法,例如http://localhost/api/taskapi.svc/GetCompleted会响应JSON 列出了所有已完成的任务,因此这里的这两篇文章给了我一些答案

好的,所以我将我的 OperationContract 更改为如下所示

http://localhost/api/tasksapi.svc/GetCompleted浏览器中的 url 仍然以400 Bad Request.

服务合约

服务配置

参考指令

<%@ ServiceHost Language="C#" Debug="true" Service="TaskService.TaskService" %>

该服务是从作为 WCF 服务库输出的程序集中挑选的

Url 重写以隐藏svc扩展

  • 我应该怎么做才能完成这项工作?
0 投票
1 回答
823 浏览

.net - Root UriTemplate 被 WCF 帮助页面劫持

TL;DR - 我有[WebGet(UriTemplate = "/")],但它不起作用


我有如下所示的 WCF 服务:

这是端点的配置

如您所见,我正在通过该服务同时提供 REST 和 SOAP。这个问题只涉及 REST。

当我http://localhost:80/api/users/在浏览器中访问时(所以GET "/"用 WCF 术语),我会看到描述端点的 WCF 帮助页面——该页面对 SOAP 很有用,但对 REST 帮助不大。但是,如果我做任何其他事情,它会按预期工作。如果我POST访问此 URL 或GET /123456,我会得到正常的 JSON 响应(例如,它实际上执行了我的服务)。

似乎 WCF 正在劫持“/”操作。有什么方法可以关闭这个 WCF“帮助”行为,以便我可以执行我的操作?任何建议都非常感谢。

0 投票
1 回答
1200 浏览

wcf - UriTemplate FormatException "{}" 不是段或查询部分的有效格式

我的 Web 服务 url 工作正常,现在返回以下错误:UriTemplate 不支持“{}”作为段或查询部分的有效格式。

我通常处理 Visual Web Developer 2010 Express 中的文件。我在他们工作和不工作之间所做的唯一一件事(我能想到的)是我在 Visual Studio 2010 的专业版中处理文件。然后我保存了它们,并打开现在正在 Express 中再次处理它们. (我检查了 .sln 文件,它们是相同的。)

(更新)帖子的其余部分更详细地描述了这个问题,但我认为这是导致问题的原因:VS 2010 Professional 编辑了一个配置文件(或某个文件),这在随后在 Visual 中打开时破坏了解决方案Web 开发人员 2010 速成版。但是我无法弄清楚哪些文件被编辑了。也许有人可以告诉我哪些文件是可疑的。它在 MyRootDirectory/Properties 中没有。我试过那些。

问题详情:

这个 url 以前可以工作,现在它抛出了上面的错误

这个 url 过去可以工作,现在也返回相同的错误。

该请求未到达我的代码页。- 那里的断点不会被击中。

这是堆栈跟踪的顶部。我认为,不知何故,我的网址在到达那里之前就被修改了。

[FormatException:UriTemplate 不支持“{}”作为段或查询部分的有效格式。] System.UriTemplateHelpers.IdentifyPartType(String part) +3049859

System.UriTemplateQueryValue.CreateFromUriTemplate(字符串值,UriTemplate 模板)+49

System.UriTemplate..ctor(字符串模板,布尔忽略TrailingSlash,IDictionary`2 additionalDefaults)+1004

这两种方法的 WebGet 属性是:

我使用以下浏览器得到相同的结果:IE8、Chrome、FireFox

想法?

0 投票
1 回答
2111 浏览

wcf - 当操作指定了 UriTemplate 时,使用 WebChannelFactory 访问 WCF REST 操作

根据下面的代码片段,我有一个 WCF Rest 服务

该服务是自托管服务,并使用 webHttpBinding 公开一个端点。我有一个客户端控制台应用程序,它具有以下代码片段:

客户端代码抛出如下异常:在“http://localhost:1133/Service/SaveList”处没有监听可以接受消息的端点。

我不确定我哪里出错了。如果我从服务合同中删除 UriTemplate,客户端会返回正确的响应。

任何帮助将不胜感激。

问候鲁奇特拉

0 投票
0 回答
96 浏览

url - 根据 URITemplate 规范的 uri 模板的有效性

'/abc/foo/{id}/bar/*' 是根据 URITemplate 规范的有效模板吗?还是只有 {} 的 url 有效?即/abc/foo/bar/{path}。

在第一种情况下,/abc/foo/4/random/new.jgp 将映射到 /abc/foo/{id}/bar/* 在第二种情况下,/abc/foo/4/random/new.jgp将映射到 /abc/foo/bar/{path},考虑到 path=random/new.jpg

那么哪个是有效的符号?