RESTful风格的springMVC

一、概念


了解REST得知道5个名字:

1、资源 Resource

资源就是服务器上获取到的东西都可以说是资源,一条用户记录,一个用户的密码,一张图片等等都是


2、资源的表述 Representation

就是资源的格式,是HTML、XML、JSON、纯文本、图片等等,可以用各种各样的格式来表述你获取到的资源,这

就是资源的表述

3、状态转移 State Transfer

URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。操作是动词,资源是名词


4、统一接口 Uniform Interface

REST必须通过统一的接口对资源进行操作,HTTP1.1协议定义了资源的统一接口:

·GET/POST/PUT/DELETE/PATCH/HEAD/OPTIONS

`HTTP  HEAD可以自定义

·HTTP STATUS响应状态 可自定义

·一套标准的内容协商机制

·一套标准的缓存机制

·一套标准的客户端身份认证机制


5、超文本驱动 Hypertext Driven

资源之间通过超链接相互关联,超链接代表资源之间的关系,也代表可执行的状态迁移

Restful API就是按照REST架构的思想设计出来的API

核心就是:将API拆分为逻辑上的资源,这些资源通过http(GET/POST/PUT/DELETE等)被操作

SpringMVC的 Restful API

二、RESTful简介

 

1.REST架构师一个抽象的概念,目前主要是基于HTTP协议实现,其目的是为了提高系统的可伸缩性,降低应用之间的耦合度,便于框架分布式处理程序。

 

2.REST主要对以下两方面进行了规范

-定位资源的URL风格,例如

 http://baidu.com/admin/1234

 http://baidu.com/admin/1234/10/11

-如何对资源操作

 采用HTTP协议规定的GET、POST、PUT、DELETE动作处理资源的增删该查操作

 

 

3.什么是RESTful?

 -符合REST约束风格和原则的应用程序或设计就是RESTful.

 eg:  /emp/1  HTTP GET      查询id=1的emp

       /emp/1  HTTP DELETE    删除id=1的emp,实验中直接删除会报405错误,但是采用$.ajax异步删除就没问题

       /emp/1  HTTP PUT    跟新emp

       /emp/add  HTTP POST     新增emp

 

4.Spring对RESTful的支持

- Spring MVC 对 RESTful应用提供了以下支持

- 利用@RequestMapping 指定要处理请求的URI模板和HTTP请求的动作类型

- 利用@PathVariable讲URI请求模板中的变量映射到处理方法参数上

- 利用Ajax,在客户端发出PUT、DELETE动作的请求

 

eg: @RequestMapping(value = "/{id}", method = RequestMethod.GET)

      public String toUpdate(@PathVariable("id") Integer id, Model model) {}

 

5,RequestMapping的一般应用格式。

 

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

 

 @RequestMapping(value = "/{id}", method = RequestMethod.POST)

 

 @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)   // 因为这个需要Ajax请求,所有返回的是个json

 @ResponseBody

 

 @RequestMapping(value = "/{id}", method = RequestMethod.PUT)

 

6,客户端发送PUT,DELETE请求

  可以采用Ajax方式发送PUT和DELETE请求

 

Java代码  收藏代码
  1. $.ajax( {  
  2.         type : "DELETE",  
  3.         url : "/spring_crud_restful/emp/deleteEmp/" + id,  
  4.         dataType : "json",  
  5.         success : function(data) {  
  6.             alert(data);  
  7.             location.href = "/spring_crud_restful/emp/listEmp/1";  
  8.         }  
  9.     });  

 

 

7,静态资源访问处理

采用RESTful架构后,需要将web.xml中控制器拦截的请求设置为/,这样会将css,js等静态资源进行拦截,发送404错误。

解决方法:

--配置<mvc:resources/> 

 <mvc:resources mapping="请求URI" location="资源位置" />

--配置<mvc:default-servlet-handler/>

 <mvc:default-servlet-handler/>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值