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;
    }
相关推荐
weedsfly4 分钟前
异步编程全景与事件循环——彻底搞懂 JS 执行机制
前端·javascript
用户059540174464 分钟前
AI Agent记忆测试踩坑实录:Mock骗了我一周,Mem0+pytest一招破局
前端·css
用户1733598075375 分钟前
纯前端 PDF 数字签名实战:Vue 3 + pdf-lib 在浏览器里完成签名嵌入
前端·javascript
用户3721574261356 分钟前
Java 打印 Word 文档:从基础打印到高级设置
java
IT_陈寒1 小时前
SpringBoot自动配置的坑,我爬了三天才出来
前端·人工智能·后端
Avan_菜菜8 小时前
AI 能写代码了,为什么我反而开始要求它先写文档?
前端·github·ai编程
爱勇宝12 小时前
鸿蒙生态的下半场:开发者不只要能开发,还要能赚钱
android·前端·程序员
IT_陈寒15 小时前
SpringBoot这个自动配置坑我跳了三次
前端·人工智能·后端
kyriewen15 小时前
我用 AI 一周写完了整个项目,上线第一天就崩了——这是我踩过最贵的 5 个坑
前端·javascript·ai编程
牧艺16 小时前
从零到协同:构建类飞书在线文档系统的五个技术重难点
前端·人工智能