SpringMVC的使用

SpringMVC详情

@RequestMapping("/hello")

负责用户的请求路径后台服务器 之间的映射关系

如果请求路径不匹配,则用户报错404

@ResponseBody

作用: 将服务器的返回值转化为JSON. 如果服务器返回的是String类型,则按照自身返回.

新增: post请求类型 @PostMapping("")

删除: delete请求类型 @DeleteMapping("")

修改: put请求类型 @PutMapping("")

查询: get请求类型 @GetMapping("")

1.普通请求

java 复制代码
//@Controller //SpringMVC专门扫描的注解
@RestController //@Controller+@ResponseBody
@RequestMapping("/user")
public class HelloController {
    
    /**
     * URL:http://localhost:8080/user/getUser
     */
    //@ResponseBody //{id:101,name:"SpringMVC!!"}
    @GetMapping("/getUser")
    public User getUser(){
        User user = new User();
        user.setId(101);
        user.setName("SpringMVC!!");
        return user;
    }
}

2.get/delete请求带参数

2.1 普通请求_少量参数时,直接接收

java 复制代码
    /**
     * URL:http://localhost:8080/user/findUser?id=100&name=tomcat
     * 规则: SpringMVC中的参数(Integer id,String name)名称,必须与id=100&name=tomcat传递参数名称一致
     */
    @GetMapping("/findUser")
    @ResponseBody
    public String findUser2(Integer id,String name){

        return id +":"+name;
    }
java 复制代码
 /**
     * URL地址: http://localhost:8080/user/saveHobby?hobby=篮球,排球,乒乓球
     * 返回值: 参数获取之后返回
     * SpringMVC功能:
     *      如果url中的参数使用,号的方式连接,则可以自动的转化为数组结构
     */
    @GetMapping("/saveHobby")
    public String[] saveHobby(String[] hobby){
        return hobby;
    }

2.2 RestFul请求_少量参数时,直接接收

java 复制代码
 /**
     * RestFulurl: http://localhost:8080/user/restFul/1/张三
     等同于Get请求: http://localhost:8080/user/restFul?id=1&name=张三
     * 返回值: 返回User对象
     * 语法:
     *  1.服务器端参数接收时,变量使用{xx}进行包裹,并且位置固定.
     *  2.利用@PathVariable注解,动态获取路径中的数据,要求名称必须匹配
     */
    @GetMapping("/restFul/{id}/{name}")
    public User restFul(@PathVariable Integer id,
                        @PathVariable String name){
        User user = new User();
        user.setId(id);
        user.setName(name);
        return user;
    }

2.3 普通请求_参数多时,对象接收

java 复制代码
/**
     * url:http://localhost:8080/user/getUser1?id=1&name=李四&age=18
     * 返回值: User对象
     *   要求对象User 的属性必须与参数id=1&name=李四&age=18名称一致,同时必须有Set/Get方法.
     *   SpringMVC会自动的将参数赋值给对象的属性.
     */
    @GetMapping("/getUser1")
    public User getUser(User user){
        return user;
    }

2.4 RestFul请求_参数多时,对象接收

java 复制代码
  /**
     * URL: http://localhost:8080/user/restFul2/1/王五/18
     * RestFul对象接收:
     *   如果对象的属性与{key}相同,则可以使用对象接收.
     * 用途: restFul结构 一般用于更新操作
     */
    @GetMapping("/restFul2/{id}/{name}/{age}")
    public User restFul2(User user){

        return user;
    }
相关推荐
Dcs9 分钟前
IDEA 2025.2又整大活!AI 助手脱胎换骨,Spring 调试一秒看透,连 Java 25 和虚拟线程都安排上了!
java
jingling55512 分钟前
Git 常用命令指南:从入门到高效开发
前端·javascript·git·前端框架
小沈熬夜秃头中୧⍤⃝14 分钟前
Python 基础语法(二):流程控制语句详解
开发语言·数据库·python
索西引擎14 分钟前
【前端】网站favicon图标制作
前端
程序员海军21 分钟前
告别低质量Prompt!:字节跳动PromptPilot深度测评
前端·后端·aigc
华洛22 分钟前
关于可以控制大模型提升任意产品的排名这件事📈
前端·github·产品经理
Yanc23 分钟前
翻了vue源码 终于解决了这个在SFC中使用tsx的bug
前端·vue.js
nujnewnehc28 分钟前
失业落伍前端, 尝试了一个月 ai 协助编程的真实感受
前端·ai编程·github copilot
大熊学员30 分钟前
HTML 媒体元素概述
前端·html·媒体
好好好明天会更好32 分钟前
那些关于$event在vue中不得不说的事
前端·vue.js