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;
    }
相关推荐
TinaSlowDown2 分钟前
使用canvas截取web camera指定区域,并生成图片
前端
我与java相爱相杀5 分钟前
JavaScript基础学习
开发语言·javascript·ecmascript
半夏知半秋11 分钟前
支持分页的环形队列
java·开发语言·算法·lua·database
前端物语13 分钟前
深入解析 Android 的 evaluateJavascript
android·java·前端
小明菜菜18 分钟前
排序算法Java实现
java·算法·排序算法
OvO_______19 分钟前
C++之STL—常用排序算法
开发语言·c++
weixin_4243810027 分钟前
ARM V8 A32常用指令集
java·开发语言·arm开发
Carrot_ly32 分钟前
IDEA2020运行项目时不从配置的maven仓库找jar包,从C盘默认路径下找jar包
java·maven·intellij-idea·jar
customer0833 分钟前
【开源免费】基于SpringBoot+Vue.JS技术交流分享平台(JAVA毕业设计)
java·vue.js·spring boot·后端·开源