问题标签 [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.
url-rewriting - 复杂路由 WSO2 API 资源 uri 模板
精简版。我正在尝试创建一个 API 来处理
到目前为止,这就是我所拥有的,但它并不是我想要的。因为它给了我 /goals/goal/{goalId}
GoalID 将始终匹配/^\d+$/
,因此如果我可以通过它以某种方式进行路由,它将起作用。最终我也会想添加/goals/{goalID}/item and /goals/{goalID}/items/{itemID}
,但我相信一旦我弄清楚第一步,这将很容易。
如果这里没有办法做到这一点,有没有办法可以在 wso2 到达资源之前重写其中的 url,然后我可以替换/goals/(\d+.*)
为/goals/goal/$1?
我知道我可以通过代理路由它并在 apache 中重写它或但这似乎违背了 WSO2 对我的目的。
c# - can WCF JSON WebService operation with non-string parameters be called from browser?
I understood that UriTemplate supports only string parameters unless you have them in form like below (id={id} etc.). Here for example:
Can I pass non-string to WCF RESTful service using UriTemplate?
However I can't make the following work. Even if I change 2nd parameter to string (not string array). Is this kind of operation callable from a browser by typing URL in address-field?
All works if I change parameters to strings and type:
Thanks!
c# - UriTemplate 的可选参数导致 AfterReceiveRequest - WCF - IDispatchMessageInspector 的两次调用
我只是更深入地研究它并发现了新的细节。
通常不是“UriTemplate”导致第二次调用“AfterReceiveRequest”,而是其中的可选参数!
如果我通过调用该方法
http://myserver/result/val1
AfterReceiveRequest 将被调用两次。
如果我传递所有可能的参数,例如
http://myserver/result/val1/val2/val3
不会有无用的调用。这种行为是否符合预期?
---在最初的帖子之后,仅供参考---
在实现 WCF REST 服务系统时,我遇到了 http-headers 的问题。
在我的属性中ServiceContract
有一个UriTemplate
定义的方法WebGet
,因此可以通过
代替
(由于兼容性原因,我需要这个。)
http-headers集合中还有一个重要的价值,我需要阅读。因此我实现IDispatchMessageInspector
了这个检查器并将其添加到EndpointDispatchers
MessageInspectors
集合中。这样AfterReceiveRequest
,WCF 将调用 WCF,我可以访问WebOperationContext.Current.IncomingRequest.Headers
以读取所需的值。
问题:
WCF 通过UriTemplate
向目标方法生成第二个请求来解决 -mapping,但不会将原始调用中的标头条目传递给生成的第二个调用。因此AfterReceiveRequest
(当然BeforeSendReply
,也是)将被调用两次,但来自真实客户端调用的标头值仅包含在第一次调用中。
此外,我发现没有办法将第一个和第二个AfterReceiveRequest
调用关联起来,以实现将标头值从第一个调用传递到第二个调用的“特殊方式”。
有没有办法告诉 WCF 将标头路由到UriTemplate
-redirected 第二个调用?
这里有一些代码片段可以清楚地说明:
java - 选择了错误的休息服务
我有两种方法的资源:
如何选择一项或另一项服务?如果我将“1”作为interactionId,仍然会执行带有日期的方法。我正在使用 apache cxf 3.0.1。谢谢
java - RFC 6570 URI 模板可以为可选参数编码空格分隔符吗?
我正在使用美国人口普查 API(示例),其中有可选参数,它们以空格分隔。我需要一个通用的 URL 模板机制,Google 引导我找到了 RFC 6570 及其实现。
但据我了解,RFC 6570 无法模板化查询子字符串,例如:
其中“county”可能未定义,如果是,则应省略,以及前面的“+”编码空格,只留下
RFC 6570 可以对此进行编码吗?
如果没有,是否有用于通用 URI 模板的替代模板语法,我应该考虑用 Javascript 和 Java 实现?
像这里所做的那样,使用“+”来分隔查询子元素是常见的还是非常古怪的?(我问的是使用频率,而不是它是否明智!) RFC 6570 对于一个无法控制所使用的 URI 查询语法的应用程序是否过于严格?
更新
我看到两个问题:一个是“+”分隔符,另一个是在例如“state:02”中使用“ : ”,我也不知道该怎么做。
environment-variables - 为什么我的 YQL 查询中据称缺少我的模板变量?
我试图在 YQL 查询中隐藏 API 密钥。为此,我尝试关注这篇文章(也由同一作者在这里解释)。当我尝试使用 URI 模板运行查询时,我收到以下警告:
以下是我采取的步骤:
yql.storage.admin
通过运行将 API 密钥保存在其中insert into yql.storage.admin (value) values ("set BungieAPIKey='YOUR_KEY' on uritemplate;")
https://developer.yahoo.com/yql/console/?env=store://XXXXXXXXXX
使用返回的执行键 ( )将环境加载到控制台- 跑
select * from json where url in (select url from uritemplate where template='http://bungie.net/videos/{BungieAPIKey}/{user}/{page}' and user='foo' and page='bar')
这是返回的 JSON:
为了缩小问题的范围,我在一个干净的 YQL 控制台(没有设置环境)中尝试了以下查询:
运行它给了我同样的警告。为什么我的模板变量不是从我设置为环境变量的内容中提取的?
rest - 无法调用 REST Web 服务
我只是在尝试一个示例休息服务示例。我的休息服务班是:
现在,当我尝试调用此 url 时:
我收到 405 错误。不允许的方法 下面是我的 web.xml:
我正在使用球衣 1.18。我究竟做错了什么?期待您的解决方案。
wso2 - WSO2 API 管理器 v1.8.0
我有一个简单的用例,将 API 使用者的路径参数映射到后端 API 端点。我已经做了很多研究,但还没有找到关于如何做到这一点的具体答案。据我了解,如果不使用uri-template,就无法完成路径参数的映射。现在的问题是 API Manager 不支持来自 API Publisher 用户界面的 uri-template,您必须改用 url-mapping。WSO2 开发人员的一篇博客说,您可以转到单个突触配置并手动将其更改为 uri-template。但实际情况是,对 synapde 配置所做的更新以某种方式触发了数据库更新,否则会从发布者 UI 发生,最终结果是它不起作用。有人可以提供有关如何映射路径参数的方法吗?仅供参考 - 查询参数映射对我有用,因为它不需要 uri-template 并且可以使用 url-mapping 本身来实现。
c# - 网址不允许在值字段中使用下划线、斜杠(:\)
我正在开发一个 wcf 休息服务应用程序,下面是我的 uriTemplate。
http://localhost:50782/PhotoManager.svc/UploadPhoto/?fileName= {fileName}&description={description}
以下是我来自客户端的网址,
http://localhost:50782/PhotoManager.svc/UploadPhoto/?fileName=001_003.jpg&description=D :\Image
但它在下划线和斜杠处显示错误。
javascript - 需要用于 URI 模板 (RFC 6570) 的 RegEx
我需要验证一个字符串以确保它是根据 RFC 6570 的有效 URI 模板。使用正则表达式应该很容易。但是,我没有找到——真的没有用于 URI 模板的 RegEx(还没有)吗?
上下文:我想在使用 node.js 处理的 JSON Schema 中使用它。