Spring基础篇:SpringMVC的RESTful编程

简介: SpringMVC的RESTful编程

解释RESTful

RESTful主要对应的是HTTP协议中的四种请求方式:GETPOSTPUTDELETE。是不是不太熟悉?换个说法:CURD(增删改查)是不是熟悉一点了。其实就是将四种不同的请求方式对应不同类型的请求。

  1. GET: 负责查询数据,业务功能一般是SELECT,将返回封装的JSON对象。
  2. POST: 负责新增数据,业务功能一般是INSERT,将接收封装好的数据插入到数据库中。
  3. PUT: 负责修改数据,业务功能一般是UPDATE,将接收封装好的数据,根据条件更新数据库中已有的数据。
  4. DELETE: 负责删除数据,业务功能一般是DELETE,将根据某种条件,删除某行或者多行数据库中的数据。

老的请求方式 @RequestMapping

通常使用SpringMVC写请求映射的时候用的是@Requestmapping注解,比如说:

@Controller
public class UserController{
    @RequestMapping("/user")
    public string getUsers(){
        // do...
    }
}

这个UserController其中的getUsers方法负责响应/user的请求,这个无参数的映射还看不出什么,但是有两个隐含的问题

  1. 其他程序员看这个请求,不清楚这个请求是具体在做哪项业务(GET/POST/PUT/DELETE)
  2. /user这个映射就被写死了,不能再写第二个@RequestMapping("/user")
  3. GET、POST、PUT、DELETE方式都能被RequestMapping接收,只要对应/user请求路径

RESTful风格的请求方式

那我们再看使用RESTful风格的请求映射。以Get请求为例子。

@Controller
public class UserController{
    // @RequestMapping(value = "/user",method ="GET")
    @GetMapping("/user")
    public string getUsers(){
        // do...
    }
}
  1. @RequestMapping(value = "/user",method ="GET")

这里也就多指定了一个属性:method,内容是GET,这表示这个请求只响应的是Get方法,而且通过RESTful风格的规定,这个方法表示的是一个查找操作,这种风格能增加代码的规范性和可读性。

  1. 它的简便形式:@GetMapping("/user"),这个就是简写。

其它的简写形式:

  • @PostMapping:新增业务,负责post方法的请求。
  • @DeleteMapping:删除业务,负责delete方法的请求。
  • @PutMapping:更新业务,负责put方法的请求。
目录
相关文章
|
2月前
ssm(Spring+Spring mvc+mybatis)——updateDept.jsp
ssm(Spring+Spring mvc+mybatis)——updateDept.jsp
11 0
|
2月前
ssm(Spring+Spring mvc+mybatis)——showDept.jsp
ssm(Spring+Spring mvc+mybatis)——showDept.jsp
9 0
|
2月前
|
SQL Java 数据库连接
挺详细的spring+springmvc+mybatis配置整合|含源代码
挺详细的spring+springmvc+mybatis配置整合|含源代码
46 1
|
1天前
|
XML 监控 安全
18:面向切面编程-Java Spring
18:面向切面编程-Java Spring
16 5
|
9天前
|
安全 Java Maven
[AIGC] Spring Boot中的切面编程和实例演示
[AIGC] Spring Boot中的切面编程和实例演示
|
9天前
|
XML JSON 数据库
SpringMVC RESTful
SpringMVC RESTful
17 0
|
21天前
|
Java Spring
代码优雅的转变:基于注解的AOP编程在Spring中的实践
代码优雅的转变:基于注解的AOP编程在Spring中的实践
17 0
|
21天前
|
Java Spring
切面编程的锋芒:Spring切入点的玩法与技巧
切面编程的锋芒:Spring切入点的玩法与技巧
16 0
切面编程的锋芒:Spring切入点的玩法与技巧
|
21天前
|
Java 数据库 Spring
切面编程的艺术:Spring动态代理解析与实战
切面编程的艺术:Spring动态代理解析与实战
27 0
切面编程的艺术:Spring动态代理解析与实战
|
2月前
|
敏捷开发 监控 前端开发
Spring+SpringMVC+Mybatis的分布式敏捷开发系统架构
Spring+SpringMVC+Mybatis的分布式敏捷开发系统架构
86 0