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>";
}
}
相关推荐
(:满天星:)5 小时前
第31篇:块设备与字符设备管理深度解析(基于OpenEuler 24.03)
linux·运维·服务器·网络·centos
小陶来咯5 小时前
【仿muduo库实现并发服务器】Acceptor模块
运维·服务器
爱莉希雅&&&6 小时前
shell编程之awk命令详解
linux·服务器·git
笑稀了的野生俊6 小时前
在服务器中下载 HuggingFace 模型:终极指南
linux·服务器·python·bash·gpu算力
cui_hao_nan6 小时前
Docker后端部署
运维·docker·容器
ZZH1120KQ6 小时前
Linux系统安全及应用
linux·运维·系统安全
小扎仙森7 小时前
关于服务器宝塔转移wordperss子比主题问题
运维·服务器
小小小糖果人7 小时前
Linux云计算基础篇(5)
linux·运维·服务器
我不是哆啦A梦7 小时前
破解风电运维“百模大战”困局,机械版ChatGPT诞生?
运维·人工智能·python·算法·chatgpt
weixin_7714323117 小时前
linux系统 weblogic10.3.6(jar) 下载及安装
linux·运维·jar