REST教程九:REST设计指南

设计一个REST架构的一些软件准则:

   1.  不要使用“物理”的URLs:一些物理的URL指向具体的内容,例如一个XML文件http://www.acme.com/inventory/product003.xml。而逻辑URL并不会意味着一个物理文件,例如http://www.acme.com/inventory/product/003
        当然,即使有.xml扩展名,内容也是动态生成的。它应该是人类易于识别的、逻辑的urls,而不是物理urls。
    2. 查询不应该返回一个超负荷数据:如果需要,可以提供分页机制。例如,“产品清单GET请求应该返回第n个产品(例如,第10),同时带有下/上翻页的链接。
    3. REST响应,即便可以是任何东西,也请确保它是有据可查的,确保他不会改变哪怕一点点输出格式(因为改变会对现有的客户端造成破坏)。
        请记住,即使是人类可读的输出,但你的客户并不是人类用户;
        如果输出是在XML中,确保您将它保存在schema模式或DTD文件中。
    4. 不要让客户端构建额外的动作的URL,包括REST响应的实际url。例如,对“产品清单”的请求,可以返回每个产品的ID,规范说,你应该使用http://www.acme.com/product/PRODUCT_ID得到更多的细节,这是一种很糟糕的设计;相反,好的设计中,响应应包括每个产品的实际url地址:http://www.acme.com/product/001263等。
        按照这种设计思路,意味着输出会较大。但是,这也意味着您可以轻松地直接对新得到的URL进行按需操作,而不需要改变客户端代码。
    5. GET访问请求,不应该引起服务器任何的状态改变。任何服务器状态的改变,都应该是一个POST请求(或其他HTTP动词,如DELETE)造成的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值