学习REST

Start

  • 前篇博客已经有预告了,我将分享一下关于REST和RESTful API的想法,源于我的强迫症,源于这几天对概念问题的执念。
  • 问题来源已久,从我一开始做java EE 开发的时候我就在书中读到了有关REST的概念,当时似懂非懂,主要是解决主要的矛盾对这个概念就放下了,然后陆陆续续听到关于它的消息,随着轻量级(lightweight)的应用的发展,前几天看到文章说未来必定是REST的天下,是否属实暂且不表,没有必要参加流派之间的纷争。不过很多他在某些方面确实还是有不错的地方,值得反思和学习。

轨迹

  1. 首先是在国内的网站上搜索了一下,发现说什么的都有…无奈还是google:”how to understand rest“ 选择了前几个的链接,耐着性子读了下来,大体有了个了解。
  2. 然后发现百度百科的说法也很不错:

    一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制.

    来自百度百科
    总体来讲说的还是不错的。

  3. 在以上的基础上去看一下的几个链接,应该会很清楚了。


理解


p.s. 需要注意的是 里面涉及到了 一个单词:Idempotent–幂等 的概念。通俗来说就是执行多个操作的效果和执行一次的想过是一样的。


你也可以看这里(理解HTTP幂等性)来了解进一步。


  • 最后在这篇文章里真正清楚了!RESTful Web Services: A Tutorial
    作者从
    • Representations
    • Messages
    • URIs
    • Uniform interface
    • Stateless
    • Links between resources
    • Caching

七个方面详细而又简单的介绍了REST和RESTful ,当我读到:

REST requires each resource to have at least one URI. A RESTful service uses a directory hierarchy like human readable URIs to address its resources. The job of a URI is to identify a resource or a collection of resources. The actual operation is determined by an HTTP verb. The URI should not say anything about the operation or action. This enables us to call the same URI with different HTTP verbs to perform different operations.

Suppose we have a database of persons and we wish to expose it to the outer world through a service. A resource person can be addressed like this:

http://MyService/Persons/1

This URL has following format:
Protocol://ServiceName/ResourceType/ResourceID

的时候,我就顿悟了,加上看到的各种解释,一起反应有了个全面的认识。so, good luck!

end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值