本文持续更新,欢迎大家讨论,不吝指教
- Resource 保持前后一致性
由于api 的开发是一个长期的工作,后面的开发一定要考虑到前面已经开发的API,跟随之前的。
比如,很久以前已经开发了接口getRateTables,几年后,又想进一步开发每个ratetable的详细信息,这个接口该取什么名字呢?getRateTableDetail可好?
不对,这样就和之前的接口脱节了,应该取名getRateTable,表示取出每个rate table 的详细信息。 - 关于put方法需要考虑的地方
put表示对资源进行update操作,要注意区分delete. 有一种比较隐含的情况,设计时要注意识别出来。
比如一个rate table, 里面有很多行,如下图:
对于referenceId为2的这一行,如果api调用者,没有传,我们是作为delete处理吗?设计的时候,要考虑该API是put(update)方法,里面不应该含任何对资源内部任何元素的delete操作。所以该api会对资源进行验证,不允许少掉这一行元素。 - 调用限流