我围绕 REST 和结构化程度较低的 Web 界面编写了一些非常随意的包装器,但所有这些都只是为了好玩,很少关注错误检测和处理、超时等。
有人可以给我一些关于实践或资源的指示,以便为 REST API 开发可靠、专业的 .NET(或其他平台)包装器吗?
我想到的事情是:
新:我发现这个几乎太基本的进行 Yahoo REST 调用的指南,但它可以作为一个起点。
重要提示: 一个非常复杂且很少涉及的方面是如何处理 REST API 上的表单身份验证。 单独的登录请求、cookie存储等
虽然我以 OOP 方式封装了无数的 Web 服务,但我发现很难对你的问题给出一个好的答案。
可以在这里找到几个 Yahoo API 示例:http://curlobjects.com/trac/browser/trunk/lib/YahooApi
1 解释 HTTP 错误代码并从 API 中过滤协议错误 错误。
我的 http 基类有一个可以覆盖的 http 错误回调。
2 构建基于 URL 的请求,可能使用模式匹配和 代币替换。
我更喜欢字符串连接。
4 如何将 OO 模型映射到 REST 模型。有些请求适合静态 方法,例如获取列表,以及 其他人则挂在中间 静态和实例,也许是一个简单的 全静态的提供者模式 方法?
有时您需要一个大型静态工厂/提供程序,有时您需要为每个方法提供一个类,有时您需要为每组相关方法提供一个类...确实没有一种正确的方法可以解决此问题。我总是花一些时间来感受服务的结构,然后尝试找到一种优雅的方式来抽象重复的部分。
如果您对登录表单、cookie 等有任何更具体的问题,我很乐意回答。
编辑:
提到了 HttpWebRequest,我猜您要么需要设置 ClientCertificate 属性并正确使用 SSL,要么您可以使用 CertificatePolicy 忽略所有 SLL 错误。