Spring web MVC(2)

1、@RequestMapping称为路由映射(既是类注解也是方法注解提供访问路径)

2、@RequestParam起到重命名的作用,也起到绑定的作用,传递集合list时会用到,多个值绑定给list,默认是必传参数如果不传参数需要设置required=false

3、JSON(javaScript对象表示法)就是数据格式,表示一个对象的数组或数组的信息,本质就是字符串,主要负责在不同的语言中数据传递和转换

JSON基本数据格式展示

也可以压缩表示,提高性能

网上有json格式检测的工具如果感觉自己的格式不知对错可以去检测一下

4、JSON代码编写

java 复制代码
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JSONUtils {
    public static void main(String[] args) throws JsonProcessingException {
        ObjectMapper objectMapper=new ObjectMapper();
        UserInfo userInfo=new UserInfo();
        userInfo.setName("zhangsan");
        userInfo.setAge(18);
        userInfo.setId(10);

        //对象转JSON
        String s=objectMapper.writeValueAsString(userInfo);
        System.out.println(s);

        //JSON字符串转java对象
        UserInfo userInfo1=objectMapper.readValue(s,UserInfo.class);
        System.out.println(userInfo1);
    }
}

输出

5、JSON优点

6、JSON代码传递参数编写

java 复制代码
@RestController
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1")
    public  String r1(@RequestBody UserInfo userInfo) {
     return userInfo.toString();
    }
}

7、获取URL中的参数(路径中大括号的参数要和Integer后面的一样才行)

@PathVariable获取路径中的参数

(1)单个参数

java 复制代码
@RestController
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1/{articleId}")
    public  String r1(@PathVariable Integer articleId) {
     return "articleId:"+articleId;
    }
}

(2)请求多个参数时(参数必须赋值)

java 复制代码
@RestController
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1/{articleId}/{id}")
    public  String r1(@PathVariable Integer articleId,@PathVariable Integer id) {
     return "articleId:"+articleId+"   id:"+id;
    }
}

(3)对参数进行换名字

java 复制代码
@RestController
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1/{articleId}/{id}")
    public  String r1(@PathVariable("articleId") Integer xinId,@PathVariable Integer id) {
     return "articleId:"+xinId+"   id:"+id;
    }
}

8、获得文件

@RequestPart注解来获取文件

(1)获取文件

在这里改成上传文件

java 复制代码
@RestController
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1")
    public  String r1(@RequestPart MultipartFile file) {
     return "获取上传文件:"+file.getOriginalFilename();
    }
}

(2)将获取到的文件放在指定路径下

java 复制代码
@RestController
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1")
    public  String r1(@RequestPart MultipartFile file) throws IOException {
        String fileName=file.getOriginalFilename();
        file.transferTo(new File("D:/demo"+fileName));
     return "获取上传文件:"+file.getOriginalFilename();
    }
}

9、返回HTML页面

复制代码
@Controller
@ResponseBody
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1")
    public  String getHeader()  {
        return "<h1>我是HTML页面</h1>";
}
}
相关推荐
Lonely 净土4 小时前
Linux 运维文件写入操作
linux·运维·服务器·文件管理
城管不管5 小时前
重生——第十一次面试之挖财一面2026.8.19已OC
java·服务器·jvm·数据库·spring·面试·职场和发展
飞英思特无线充电5 小时前
严苛场景巡检机器人的无线补能设计:点位、BMS、认证与运维边界
运维·机器人
Jimmy_jimi6 小时前
利用nginx代理完成url重定位
运维·nginx
liuyicenysabel6 小时前
多服务上线日记三:
运维·服务器·笔记·学习
吠品7 小时前
Wine 在 Linux 上运行 Windows 软件完整指南
java·linux·服务器
一只鹿鹿鹿7 小时前
大数据中心安全系统解决方案(Word文件)
大数据·运维·物联网·安全·政务
AuTumn-L10 小时前
使用 SSH 密钥认证实现安全免密登录
服务器·安全·ssh
领创工作室10 小时前
GitHub Workflows 全面解析:从核心概念到开源实现
运维·github
吕海洋10 小时前
目前可用的docker源2026.08
运维·docker·容器