RESTful

来源:互联网 发布:2016淘宝可以刷单吗 编辑:程序博客网 时间:2024/04/30 08:11

1. 基本原理


表现性(Representational) -- REST资源可以用各种形式来表现,如XML, JSON等最合适资源使用者的任意形式


状态(State)-- 当 使用REST的时候, 我们更关注资源状态而不是对资源的行为


转移(Transfer) -- 以一种表现性形式从一个应用转移到另一个


REST简单来说是将资源的状态以最合适的形式从服务器端转移到客户端(或反之)。



2. 特点


对比:


非REST一段代码:

@RequestMapping(value="/findSomething.jsp",method=RequestMethod.GET)
设置地址的find*.jsp中的find是个动词, 是种动作, 而REST强调的是状态。 而且*.jsp把前端页面限制为只能是jsp页面。


REST代码:

@RequestMapping(value="/Something",method=RequestMethod.GET)
查找某些东西用GET, 如果是更新的话,如下:
@RequestMapping(value="/Something",method=RequestMethod.PUT)
删除
@RequestMapping(value="/Something",method=RequestMethod.DELETE)
新增

@RequestMapping(value="/Something",method=RequestMethod.POST)


RESTful URL从左到右读, 是一个抽象------>具象的过程。

RESTful URL的路径是参数化的(配合@PathVariable):

@RequestMapping(value = "/{group}/{name}", method = RequestMethod.GET)


而RESTless是使用查询参数:

@RequestMapping(value = "findSomething", method = RequestMethod.GET)
url ---- http://hostname:port/findSomething?group="007"&name="Jams"

web.xml:


<filter><filter-name>HiddenHttpMethodFilter</filter-name><filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class></filter><filter-mapping><filter-name>HiddenHttpMethodFilter</filter-name><servlet-name>appServlet</servlet-name></filter-mapping>


0 0
原创粉丝点击