我已经编写了一些关于REST和不太结构化的Web界面的非常随意的包装,但这些只是为了好玩,很少关注错误检测和处理,超时等。
有人可以给我一些关于实践或资源的指导,为REST API开发一个可靠的专业.NET(或其他平台)包装器吗?
我脑子里想的是:
新:我发现这几乎是基本的guide to making Yahoo REST calls,但它是一个起点。
重要提示: 一个非常复杂且很少涉及的方面是如何在REST API上处理表单身份验证。单独的登录请求,cookie存储等
答案 0 :(得分:7)
虽然我已经以OOP方式包装了无数的Web服务,但我发现很难为你的问题找到一个好的答案。
可在此处找到几个Yahoo API示例:http://curlobjects.com/trac/browser/trunk/lib/YahooApi
1解释HTTP错误代码并从API过滤协议错误 错误。
我的基本http类有一个可以覆盖的http错误回调。
2构建基于URL的请求,可能带有模式匹配和 令牌替换。
我更喜欢字符串连接。
4如何将OO模型映射到REST模型。有些请求适合静态 方法,例如,得到名单,和 其他人则介于两者之间 静态和实例,也许是平原 提供者模式与所有静态 方法
有时候你需要一个大的静态工厂/提供者,有时候你需要为每个方法创建一个类,有时候每组相关方法都有一个类......真的没有一种方法可以解决这个问题。我总是花一些时间来了解服务的结构,然后尝试找到一种优雅的方法来抽象重复的部分。
如果您对登录表格,cookies等有任何疑问,我很乐意回答。
编辑:
提到了HttpWebRequest,我猜你需要设置ClientCertificate property并正确使用SSL,或者你可以使用CertificatePolicy ignore all SLL errors。