REST是英文representational state transfer(表象性状态转变)或者表述性状态转移,它是web服务的一种架构风格。使用HTTP,URI,XML,JSON,HTML等广泛流行的标准和协议;轻量级,跨平台,跨语言的架构设计;它是一种设计风格,不是一种标准,是一种思想。
Rest架构的主要原则:
网络上的所有事物都被抽象为资源; 每个资源都有一个唯一的资源标识符; 同一个资源具有多种表现形式(xml,json等); 对资源的各种操作不会改变资源标识符; 所有的操作都是无状态的; 符合REST原则的架构方式即可称为RESTful。什么是Restful?对应的中文是rest式的;Restful web service是一种常见的rest的应用,是遵守了rest风格的web服务;rest式的web服务是一种ROA(The Resource-Oriented Architecture)(面向资源的架构)。
为什么会出现Restful?
在Restful之前的操作: http://127.0.0.1/user/query/1 GET 根据用户id查询用户数据 http://127.0.0.1/user/save POST 新增用户 http://127.0.0.1/user/update POST 修改用户信息 http://127.0.0.1/user/delete GET/POST 删除用户信息 RESTful用法: http://127.0.0.1/user/1 GET 根据用户id查询用户数据 http://127.0.0.1/user POST 新增用户 http://127.0.0.1/user PUT 修改用户信息 http://127.0.0.1/user DELETE 删除用户信息
SpringMVC原生态的支持了REST风格的架构设计,所涉及到的注解:
---@RequestMapping---@PathVariable---@ResponseBody
前端访问页面index.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>$Title$ 去Controller的test1 去测试性能监控
普通方式 删除这个数据A 删除这个数据B 删除这个数据C 删除这个数据D 删除这个数据E 演示一下Resful 删除这个数据A 删除这个数据B 删除这个数据C 删除这个数据D 删除这个数据E /
后台控制器TestController2.java:
package com.itszt.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;/** * 测试RestFul */@RequestMapping("test2")@Controllerpublic class TestController2 { @RequestMapping("delete/{delID}/{delTitle}") public String delete(@PathVariable(name = "delID") String delID, @PathVariable(name = "delTitle") String delTitle) { System.out.println("delID = [" + delID + "], delTitle = [" + delTitle + "]"); return "result"; }}