Spring MVC整理系列(03)————Spring MVC的REST风格url

REST:资源表现层状态转化

1、资源:

    网络上的一个实体,或者说是网络上的一个具体信息;通过URL指向该资源,也可以说url代表资源。
    url中避免出现?和&,参数直接作为url地址指向资源。

    比如:http://www.zhihu.com/question/3395997133959971就是一个资源实体的id。

    Spring MVC中,@RequestMapping的value属性匹配url地址,@PathVariable注解实现url资源解析并注入方法参数,如:
    @RequestMapping(value="/question/{questionId}")
    public void question(@PathVariable("questionId") String questionId){...}

2、表现层:

指的是资源的表现层。简单理解就是资源的格式,比如:json、xml、html、text等等。

    URI应该只代表"资源"的位置。它的具体表现形式,应该在HTTP请求的头信息中用Accept和Content-Type字段指定,这两个字段才是对"表现层"的描述。

    Spring MVC中,@RequestMapping的produces和consumes分别对应HTTP请求头的两个字段,用于约束响应资源的表现形式和请求资源的表现形式。
    @RequestMapping(value = "/test", produces = { "application/json; charset=UTF-8" },consumes = { "application/json; charset=UTF-8" })

3、状态转化:

    HTTP协议,是一个无状态协议,即不会保存数据或持有数据。

    要实现数据操作,只能通过一次次的http请求,让客户端与服务端进行互动完成状态转化,而这种转化是建立在表现层之上的,所以就是"表现层状态转化"。

    HTTP协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE。它们分别对应四种基本操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源。以此确定状态转化类型。

    Spring MVC中,@RequestMapping的method属性与http的操作方式进行对应。
    @RequestMapping(value = "/test", method = RequestMethod.POST)

本文参考:http://www.ruanyifeng.com/blog/2011/09/restful.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值