用于与RESTful服务通信的编辑器






3.75/5 (3投票s)
一个允许用户对 URI 执行 GET、PUT、POST 或 DELETE 数据操作的 Windows 应用程序 (.NET)
引言
这是一个应用程序,通过允许用户编辑发送到服务器的原始 HTTP 并查看原始 HTTP 响应,来帮助测试/修改 RESTful 服务。
背景
REST 代表 Representational State Transfer(表述性状态转移)。它是一种非常简单的应用程序开发架构风格,其中对象通过一组固定的方法进行操作。 在许多情况下,REST 是通过 HTTP 实现的,因为它非常适合这项任务。 对象由 URI 表示,方法集为 POST
、PUT
、GET
和 DELETE
。 我不会在这里详细介绍 REST,但您可以在我的链接部分找到更多信息。
这种方法的问题在于,大多数浏览器都不支持 GET
和 POST
之外的任何内容。 所以,我拼凑了这个小应用程序来完成这项工作。 我用它来帮助我测试我的一个 RESTful 服务,并且证明它非常方便。
使用应用程序
该应用程序允许您在请求面板(左侧面板)中键入原始 HTTP。 然后,您可以将 HTTP POST
、PUT
、GET
或 DELETE
到给定的 URI。 默认情况下,RESTPad 会对您的条目进行一些小的更正。 它会将地址栏中的 URI 替换为您可能已输入到请求中的任何 URI。 它还会更正您的内容长度。 如果您不希望自动更正,可以通过取消选中选项 -> 使用自动更正来关闭它。
关注点
如果您输入了 content-encoding 标头,RESTPad 将遵守它并使用 gzip 或 deflate 发送请求。(它目前不理解任何其他形式的编码。)
在内部,RESTPad 使用 HttpWebRequest
类。 RESTPad 的非常早期的版本使用的是原始套接字,但 HttpWebRequest
类使太多的事情变得太方便而无法错过。 不幸的是,它也有一些怪癖,例如不允许您通过通用的“headers”集合设置某些标头。 RESTPad 了解一些此类标头,但可能有一组 RESTPad 会尝试以通用方式设置的标头,导致 HttpWebRequest
对象报错。 如果您需要这样的标头,只需修改代码以专门处理该标头,就像它目前处理 content-encoding、content-length 等一样。
REST 入门
这有点离题,但这里有一些关于 REST/某些 RESTful 服务文档的基本链接。
源代码控制
我非常喜欢 Mercurial,所以我在 bitbucket.org 上托管了源代码。 您可以拉取存储库,如果您真的想,我可以将您添加为贡献者。
历史
- 2009 年 3 月 1 日 - 更新以支持通过选项菜单中的项目指定凭据
- 2009 年 3 月 2 日 - 修改为不再将输出转储到磁盘,添加了处理指示
- 2009 年 3 月 3 日 - 修复了 content-header 错误和错误处理中的错误
这目前是一个 beta 版本,形式相当粗糙,但仍然有用。 我计划在不久的将来在 Codeplex 或 Sourceforge 上设置它。
该代码是公共领域,所以拿走它并做你想做的事。 如果你添加了一些非常好的东西,与大家分享会很好。