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;
    }
相关推荐
diemeng11191 小时前
AI前端开发技能变革时代:效率与创新的新范式
前端·人工智能
南山十一少2 小时前
Spring Security+JWT+Redis实现项目级前后端分离认证授权
java·spring·bootstrap
bin91533 小时前
DeepSeek 助力 Vue 开发:打造丝滑的复制到剪贴板(Copy to Clipboard)
前端·javascript·vue.js·ecmascript·deepseek
软件黑马王子3 小时前
C#初级教程(4)——流程控制:从基础到实践
开发语言·c#
闲猫3 小时前
go orm GORM
开发语言·后端·golang
427724003 小时前
IDEA使用git不提示账号密码登录,而是输入token问题解决
java·git·intellij-idea
chengooooooo4 小时前
苍穹外卖day8 地址上传 用户下单 订单支付
java·服务器·数据库
李长渊哦4 小时前
常用的 JVM 参数:配置与优化指南
java·jvm
计算机小白一个4 小时前
蓝桥杯 Java B 组之设计 LRU 缓存
java·算法·蓝桥杯
晴空万里藏片云4 小时前
elment Table多级表头固定列后,合计行错位显示问题解决
前端·javascript·vue.js