关于 RESTful 的一点思考

RESTful 是什么?

来自《Spring 实战》:

REST 组成:表述性、状态、转移。

REST 是将资源的状态以最合适的形式从服务器转移到客户端。

RESTless

RESTless 是面向行为的,而不是面向资源的。比如:
http://host:port/servletContext/showUser.action?id=123

在这个 URL 里,servletContext 是 servlet 上下文路径;showUser.action 是控制器 URL 模式,其中 show 是动词,是一种行为;id=123 是标识符。

RESTful URL

比如:http://host:port/servletContext/users/123

在这个 URL 里,users 是资源类型(名词),123 是特定的 user。

这个 URL 并不做任何事情,只是标识了一个资源,而对这个资源做什么是由 HTTP 请求的方法决定的。

RESTful URL 的一些特性:

  • 不仅定位资源,还可以唯一标识这个资源;
  • 有层次,从左到右读时,是一个从抽象到具体的过程;
  • 对于服务器端应用,路径是参数化的。

继续阅读