在设置Restful接口以确保没有将其转换为RPC时,您需要避免什么?
做:
将您的应用程序设计为超文本驱动(超媒体作为应用程序状态引擎 - HATEOAS).
花费大部分时间和精力来识别资源并制作媒体类型来代表它们.
将整个URI视为您的资源标识符,并假设它将来会发生变化.
提供所有选项,以便继续通过您的应用程序作为您的代表中的链接.
将您的应用程序视为将被客户"抓取"或"浏览"的网站.
尝试为您的API编写客户端并查找耦合发生的位置.
别:
在API文档中发布URI模板.例如,如果必须具有查询参数的模板,请确保它们是媒体类型定义的一部分.
将您的应用程序视为由四个动词执行的URI集合.
为客户端提供诸如"application/xml"或"application/json"之类的mime类型.
使用类比,您的API应该更像是为您的客户提供GPS而不像地图.您只会向客户提供附近街道的名称.但从那时起,他们只能做你的应用程序在任何给定点上可以做的事情.
此样式的目的是最小化应用程序与其客户端之间的耦合.所有耦合都应出现在媒体类型定义中.这简化了API的发展,并为版本控制提供了一个很好的机制.它还使关于分页等问题的问题消失.
大多数"RESTful"API都不遵循这种模式.对于那样做,请参阅Sun Cloud API及其背景故事.