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;
    }
相关推荐
钛态11 小时前
前端安全防线:CSRF 攻击链路与双重 Token 校验的工程实现
前端·vue·react·web
Java搬码工11 小时前
CompletableFuture 完整详解 + 全场景使用案例
java
许心月11 小时前
Java学习资料网站汇总
java
c2385611 小时前
第二篇:《测试指挥官:可视化单题自测框架(含 assert 实操)》
java·数据库·c++·算法·安全性测试
辞旧 lekkk11 小时前
【Redis初阶】常见数据类型
开发语言·数据库·c++·redis·学习·缓存·bootstrap
张拭心12 小时前
技术管理笔记:让我“燃尽”的一天
前端
帅次12 小时前
Kotlin 与 Java 互操作:混合工程里的平台类型与 API 边界
java·开发语言·kotlin·suspend·nullable
X-⃢_⃢-X12 小时前
一、第一阶段:认识 Spring Boot
java·spring boot·后端
前端工作日常12 小时前
我学习到的Java程序的生命周期
java·后端
不好听61313 小时前
BFF 架构实战:从前端直调 API 到加入中间层
前端·架构