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请求
$.ajax( { type : "DELETE", url : "/spring_crud_restful/emp/deleteEmp/" + id, dataType : "json", success : function(data) { alert(data); location.href = "/spring_crud_restful/emp/listEmp/1"; } });
7,静态资源访问处理
采用RESTful架构后,需要将web.xml中控制器拦截的请求设置为/,这样会将css,js等静态资源进行拦截,发送404错误。
解决方法:
--配置<mvc:resources/>
<mvc:resources mapping="请求URI" location="资源位置" />
--配置<mvc:default-servlet-handler/>
<mvc:default-servlet-handler/>
相关推荐
本文将深入探讨如何在Spring MVC中实现RESTful风格的CRUD操作,这对初学者尤其有价值。 首先,了解REST(Representational State Transfer,表述性状态转移)是一种网络应用程序的设计风格和开发方式,基于HTTP协议...
在SpringMVC中实现RESTful风格,可以创建更加灵活、易于理解和维护的API。让我们深入探讨一下SpringMVC如何实现RESTful风格以及相关知识点。 首先,理解RESTful的基本原则至关重要。REST(Representational State ...
在SpringMVC框架中实现RESTFUL风格非常简单,只需要合理运用`@RequestMapping`和`@PathVariable`注解即可。此外,RESTFUL风格的应用还能带来诸如易于缓存、更好的安全性等一系列好处,因此在现代Web应用开发中得到了...
在本教程中,我们将探讨如何使用 SpringMVC 实现基于 RESTful 风格的 CRUD(Create、Read、Update、Delete)操作。 **CRUD 操作概述** CRUD 操作是任何数据驱动应用的基础,它们分别代表创建新记录、读取现有记录、...
本篇文章将深入探讨如何使用Spring MVC实现RESTful服务。 首先,理解RESTful的基本原则至关重要。RESTful架构风格有以下关键特征: 1. **资源**:每个URL代表一个资源,如用户、文章或订单。 2. **状态转移**:...
在基于SpringMVC的开发框架中,Restful风格的接口设计越来越受到前后端开发者的青睐。Restful接口以其简洁、高效和易于理解的特点,很好地满足了前后端分离的开发模式。本说明将详细介绍如何在SpringMVC环境下设计并...
在本教程中,我们将专注于如何使用Spring MVC 4搭建一个基于RESTful风格的服务。REST(Representational State Transfer)是一种软件架构风格,它设计用于创建简单、可扩展的网络服务。 **一、RESTful服务的基本...
在这个"springmvc 之 RestfulCRUD实例练习工程"中,我们将会深入探讨如何利用Spring MVC实现RESTful风格的CRUD(创建、读取、更新、删除)操作。RESTful是一种软件架构风格,它基于HTTP协议,使得API接口更加简洁、...
在Spring 3.0框架中,Spring MVC是一个强大的用于构建Web应用程序的模块,它支持构建RESTful风格的URL,使得应用程序更加符合Web服务的最佳实践。REST(Representational State Transfer)是一种设计模式,强调通过...
在3.2.8版本中,它增强了对RESTful风格的支持,使得开发者可以更容易地创建符合REST原则的服务。REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于HTTP协议,强调资源的表述和...
**SpringMVC+RESTful 框架详解** SpringMVC是Spring框架的一部分,它是一个用于构建Web应用程序的模型-视图-控制器(MVC)架构。它将业务逻辑、数据处理和用户界面分离,提高了代码的可测试性和可维护性。RESTful是...
二、SpringMVC实现RESTful风格 在SpringMVC中,我们可以通过注解来轻松实现RESTful风格的API。以下是一个简单的用户查询Controller的例子: ```java @RestController public class UserController { @...
本文将详细介绍如何在Spring MVC项目中整合FastJson,实现RESTful风格的API。 首先,我们需要在项目中引入Spring MVC和FastJson的相关依赖。在Maven的pom.xml文件中添加以下依赖: ```xml <groupId>org.spring...
本教程将详细介绍如何在Spring MVC项目中整合FastJson,以便实现RESTful风格的API。 首先,理解RESTful风格的API至关重要。REST(Representational State Transfer,表述性状态转移)是一种网络应用程序的设计风格...
在本教程中,我们将深入探讨如何使用Spring MVC实现RESTful服务。REST(Representational State Transfer)是一种架构风格,常用于构建Web服务,强调简洁、无状态和基于HTTP协议的交互。Spring MVC是Spring框架的一...
本案例将深入探讨如何在Spring MVC中实现RESTful风格的URL处理。 首先,了解RESTful的基本原则至关重要。RESTful设计通常遵循以下原则: 1. 资源导向:每个URL代表一个资源。 2. HTTP方法:使用GET、POST、PUT、...
前端使用Ionic+ AngularJS、后端使用SpringMVC,教你如何开发RESTful风格的接口。
【前后端分离SpringMVC和RESTful理解】 1. **MVC模式详解** - MVC全称为Model-View-Controller,是一种将业务逻辑、数据处理和用户界面分离开的设计模式。 - Model(模型)是数据载体,通常用Java中的POJO类表示...
SpringMVC实现Restful风格的API是一个高级话题,需要了解如何使用@RequestMapping注解来编码,以及如何测试API。 最后,拦截器的开发与应用是SpringMVC框架中用于增强系统功能的扩展点。拦截器可以在请求到达...
* 易于实现缓存机制:Restful风格编程可以使得软件设计变得更加易于实现缓存机制。 Restful风格编程的应用场景 Restful风格编程可以应用于各种场景,例如: * Web服务:Restful风格编程可以用于设计Web服务接口。...