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月前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
60 4
|
2月前
|
Java API 数据库
如何使用Spring Boot构建RESTful API,以在线图书管理系统为例
【10月更文挑战第9天】本文介绍了如何使用Spring Boot构建RESTful API,以在线图书管理系统为例,从项目搭建、实体类定义、数据访问层创建、业务逻辑处理到RESTful API的实现,详细展示了每个步骤。通过Spring Boot的简洁配置和强大功能,开发者可以高效地开发出功能完备、易于维护的Web应用。
81 3
|
17天前
|
Java Spring
一键注入 Spring 成员变量,顺序编程
介绍了一款针对Spring框架开发的插件,旨在解决开发中频繁滚动查找成员变量注入位置的问题。通过一键操作(如Ctrl+1),该插件可自动在类顶部添加`@Autowired`注解及其成员变量声明,同时保持光标位置不变,有效提升开发效率和代码编写流畅度。适用于IntelliJ IDEA 2023及以上版本。
一键注入 Spring 成员变量,顺序编程
|
10天前
|
设计模式 前端开发 Java
步步深入SpringMvc DispatcherServlet源码掌握springmvc全流程原理
通过对 `DispatcherServlet`源码的深入剖析,我们了解了SpringMVC请求处理的全流程。`DispatcherServlet`作为前端控制器,负责请求的接收和分发,处理器映射和适配负责将请求分派到具体的处理器方法,视图解析器负责生成和渲染视图。理解这些核心组件及其交互原理,有助于开发者更好地使用和扩展SpringMVC框架。
24 4
|
28天前
|
前端开发 Java 开发者
Spring MVC中的请求映射:@RequestMapping注解深度解析
在Spring MVC框架中,`@RequestMapping`注解是实现请求映射的关键,它将HTTP请求映射到相应的处理器方法上。本文将深入探讨`@RequestMapping`注解的工作原理、使用方法以及最佳实践,为开发者提供一份详尽的技术干货。
108 2
|
2月前
|
JSON 前端开发 Java
SSM:SpringMVC
本文介绍了SpringMVC的依赖配置、请求参数处理、注解开发、JSON处理、拦截器、文件上传下载以及相关注意事项。首先,需要在`pom.xml`中添加必要的依赖,包括Servlet、JSTL、Spring Web MVC等。接着,在`web.xml`中配置DispatcherServlet,并设置Spring MVC的相关配置,如组件扫描、默认Servlet处理器等。然后,通过`@RequestMapping`等注解处理请求参数,使用`@ResponseBody`返回JSON数据。此外,还介绍了如何创建和配置拦截器、文件上传下载的功能,并强调了JSP文件的放置位置,避免404错误。
|
2月前
|
Java 数据库连接 Spring
【2021Spring编程实战笔记】Spring开发分享~(下)
【2021Spring编程实战笔记】Spring开发分享~(下)
36 1
|
2月前
|
前端开发 Java 应用服务中间件
【Spring】Spring MVC的项目准备和连接建立
【Spring】Spring MVC的项目准备和连接建立
65 2
|
3月前
|
缓存 前端开发 Java
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
Soring Boot的起步依赖、启动流程、自动装配、常用的注解、Spring MVC的执行流程、对MVC的理解、RestFull风格、为什么service层要写接口、MyBatis的缓存机制、$和#有什么区别、resultType和resultMap区别、cookie和session的区别是什么?session的工作原理
|
2月前
|
XML 前端开发 Java
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习
本文阐述了Spring、Spring Boot和Spring MVC的关系与区别,指出Spring是一个轻量级、一站式、模块化的应用程序开发框架,Spring MVC是Spring的一个子框架,专注于Web应用和网络接口开发,而Spring Boot则是对Spring的封装,用于简化Spring应用的开发。
197 0
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习