representational state transfer(表象性状态转变).
uri的使用:表示资源id,不同的uri地址应该指向不同资源.单独看这个概念很多系统http请求接口设计已经违反了uri定义
新增商品: product/save
修改商品: product/update
查询商品: product/query
增删查改,对应商品可能是同一个资源,用了3个不同的uri
满足uri:
product/manage/{productId},新增商品,修改商品,查询商品访问一个地址
http请求方式的使用
REST风格中定义
put请求表示新增
post请求表示整体修改覆盖
delete请求表示删除
get请求表示查询
配合uri表示资源的定义,可以使用不同的请求方式达到增删查改的操作目录
新增商品
put:product/manage/{productId}
修改商品
post:product/manage/{productId}
删除商品
delete:product/manage/{productId}
查询商品
get:product/manage/{productId}
REST风格
uri表示访问的资源是谁;
http请求方式表示要对资源做什么操作;
为什么要满足REST风格
系统的版本上下很容做成兼容
不满足REST风格,版本兼容就要花费更多的成本
例如:
版本1.0
post:product/manage/save进行新增
版本2.0
post:product/manage/insert进行新增
很多web应用框架都支持REST风格,比如springmvc
@RequestMapping(value="product/mange/save",method=RequestMethod.GET)
方法1:处理get请求
@RequestMapping(value="product/mange/save",method=RequestMethod.POST)
方法2:处理post请求