问题标签 [rest]
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.
debugging - 如何调试 RESTful 服务?
我正在寻找一种简单的方法来调试 RESTful 服务。例如,大多数 Web 应用程序都可以使用您的普通 Web 浏览器进行调试。不幸的是,同一个浏览器不允许我测试 HTTP PUT、DELETE,在某种程度上甚至是 HTTP POST。
我不希望自动化测试。我想通过快速的健全性检查来运行新服务,理想情况下不必编写我自己的客户端。
http - RESTifying URL
在这里工作时,我们有一个为业务合作伙伴提供 XML 提要的盒子。通过指定查询字符串参数和值来自定义我们的提要请求。其中一些参数是必需的,但许多不是。
例如,我们要求所有请求都指定一个 GUID 来识别合作伙伴,并且请求可以是“获取最新”或“搜索”操作:
对于搜索:http://services.null.ext/?id=[GUID]&q=[搜索关键字]
类别中的最新数据:http://services.null.ext/?id=[GUID]&category=[ ID]
为这些参数构建 RESTful URL 方案很容易:
搜索:http://services.null.ext/[GUID]/search/[Keywords]
最新:http://services.null.ext/[GUID]/latest/category/[ID]
但是我们应该如何处理我们拥有的十几个可选参数呢?其中许多是相互排斥的,并且许多是组合的。很快,可能路径的数量变得极其复杂。
对于如何将具有复杂查询字符串的 URL 映射到更友好的 /REST/ful/paths,有哪些推荐做法?
(我对约定、方案、模式等感兴趣。不是在 Web 服务器或框架中实现 URL 重写的特定技术。)
language-agnostic - 您将 REST api 放在哪一层?
我们的应用程序的结构类似于:
UI <--> REST API <--> 工作流 <--> 业务逻辑 <--> DAL <--> DB
但是,我看到一些看起来人们正在做的例子
UI <--> 工作流 <--> REST API <--> 业务逻辑 <--> DAL <--> DB
这是我的想象吗?或者第二种选择是否被认为是可行的选择?
ruby-on-rails - 在这种情况下,如何以 RESTfully 方式使用 Rails 帮助程序 link_to?
我基本上想使用 link_to 链接到控制器的索引方法。我试过:
但输出:
这显然是不对的,如果它离开了最后一点,它会完全按照我的意愿去做。我认为使用 RESTful 的东西我会开始忽略动作或类似的东西。我有什么误解?
java - Seam/JSF 中验证失败的导航
我已经使用Seam (2.0.2.SP1) 玩了几个星期了,我已经掌握了大部分基础知识,但是我还没有想出一个像样的解决方案来解决以下问题。
假设我有一个位于 的表单/foo.xhtml
,其中包含一个重写规则,以便将类似/foo.seam?id=<fooId>
的 URL 转换为/foo/<fooId>
. 表单上有commandButton
一个 动作#{fooHome.update}
。我还有一个导航规则,在/foo.page.xml
成功发布后重定向回一个漂亮的、书签友好的 GET:
问题是当发生验证错误时,导航规则被跳过,我最终在/foo
POST 之后。
我的问题:有没有办法重定向验证错误,所以我最终得到一个 GET 请求/foo/<fooId>
而不是 POST to /foo
?
我尝试在 中滚动我自己的验证方法fooHome
,返回“失败”结果,但我真的不希望无效数据通过验证阶段(从而进入当前对话)。
api - 您是否会将下一代火星探测器的控制 API 构建为 RESTful 而不是 RPC?
如果这几乎是一个“讨论”问题,请原谅我,但我真的很感激是/否的答案,并有适当的解释。
假设你必须为机器人设计和实现一个控制 API,比如下一代火星探测器。您是根据 RESTful 原则构建此 API,还是使用经典的 RPC,例如 XMLRPC?
我问这个是因为我必须做类似的事情,尽管“机器人”是虚拟机的集合。一位颇有说服力的工程师(一位著名的 REST 倡导者)敦促我让 API 成为 RESTful。我从未使用过 REST 原则,并且我正在努力了解它们如何适合设计低级进程间 API。REST 似乎融入了与可修改的数据存储库交互的主题,通常距离很远。我正在尝试做的事情更像是在密切控制一个机器人。我可以看出人们如何争辩说,抽象地说,机器人只是一个数据存储库——“PUT 左转”、“PUT 行进 100 米”、“获取外部温度”。但这似乎是一个相当做作的模型。我当然不会从缓存或代理中获得任何好处(“你好,喷气推进实验室?这是堪培拉的 Akamai co-lo。我们现在要接管 Rover,好吗?”)
那么,RESTful 架构在这里有用吗?即使交互如此狭窄,它仍然优于 RPC 吗?
wcf - WCF 服务的 REST / SOAP 端点
我有一个 WCF 服务,我想将它作为 RESTfull 服务和 SOAP 服务公开。以前有人做过这样的事情吗?
php - 开发一致库的最佳实践是什么?
我正在开发一对库来使用 REST API。因为我需要能够在非常不同的设置中使用 API,所以我目前计划有一个 PHP 版本(用于 Web 应用程序)和一个 Python 版本(用于桌面应用程序和长时间运行的进程)。在开发图书馆时是否有任何最佳实践可以帮助我保持理智?
http - 当资源被禁止但有备用资源时,HTTP 响应应该是什么?
如果我有一个请求客户端无权访问的资源,但我想通知他们他们有权访问的备用资源,403 Forbidden
我应该在标题或内容中向他们发送备用资源的 URI 吗?还是我应该只向303 See Other
他们有权访问的资源发送重定向?
wcf - 在 REST WCF URL 中使用反斜杠 (%5c)
我正在 WCF 上构建一个 REST 服务,我正在编写的方法之一是 GetProfile,它将返回给定用户名的配置文件。用户名将包括用户的域,因此将具有以下格式:“域\用户名”。
因此,我有一个名为 Profiles.svc 的服务,它设置了以下端点:
但是,当我尝试访问http://server/profiles.svc/DOMAIN%5cusername上的服务时(%5c 是反斜杠的 urlencoded 形式),我收到以下错误:
即使在我的 GetProfile 实现中没有实际定义代码时也会发生这种情况,因此我相信在 WCF 尝试将 URI 绑定到方法时会引发错误。
为了允许将反斜杠添加到 REST WCF 服务中的 URL,是否需要将一些设置添加到我的 Web 服务配置中?还是根本不允许使用反斜杠?