写在前面
对于初学者来说,困难的不是理论知识,而是如何在程序中详细实现。
现在的项目基本上都是前后端分离的项目,如何打通前后端,吸收前端传过来的参数呢?
废话不多说,这篇文章就来说一说吸收前端参数的详细操作
一、获取路径中的值
1.1 核心代码
- @GetMapping("/getArticle/{id}")
- public Article getArticle(@PathVariable("id") Long id){
- System.out.println("获取到路径中的值为:"+id);
- return parmsService.findArticleById(id);
- }
复制代码 1.2 测试结果
在访问“http://localhost:8080/article/1” 时,程序会自动将URL中的模板变量{id} 绑定到通过@PathVariable注解的同名参数上,以是程序中可以获取到id=1
二、获取路径中的参数
2.1 核心代码
- @RequestMapping(value = "/addUser/",method = RequestMethod.POST)
- public String addUser(String name,String sex,int age){
- System.out.println("获取到参数中的值为:"+name+","+sex+","+age);
- return "添加文章成功";
- }
复制代码 2.2 测试结果
这里的参数和上面的不一样,这里的参数是通过“=”隔开的,多个参数使用&分割。 比方测试例子中的“http://localhost:8080/?name=小凡&sex=男&age=18”
三、通过Bean吸收对象参数
3.1 核心代码
- //①User
- @Data
- public class User {
- private Integer id;
- private String name;
- private String sex;
- private Integer age;
- }
- //接收参数方法
- @PostMapping("/addnewUser/")
- public String addUser(User user){
- System.out.println(user);
- return "添加用户成功";
- }
复制代码 3.2 测试结果
这里直接将前端传过来的参数映射到User 对象上
四、HttpServletRequest吸收参数
4.1 核心代码
- @PostMapping("/addBook/")
- public String addBook(HttpServletRequest request){
- String bookName = request.getParameter("bookName");
- String author = request.getParameter("author");
- System.out.println("获取到参数中的值为:"+bookName+","+author);
- return "添加书籍成功";
- }
复制代码 4.2 测试结果
五、用@RequestParam吸收参数
5.1 核心代码
- @GetMapping("/getParams")
- public String getParms(@RequestParam("param1") String param1,@RequestParam("param2") String param2){
- System.out.println("获取到参数中的值为:"+param1+","+param2);
- return "Param1: " + param1 + ", parm2: " + param2;
- }
复制代码 5.2 测试结果
六、 用@RequestBody 吸收json数据
6.1 核心代码
- //① 定义User实体对象
- @Data
- public class User {
- private Integer id;
- private String name;
- private String sex;
- private Integer age;
- }
- //② 接收参数
- @PostMapping("/addUsers")
- public List<User> addUsers(@RequestBody List<User> users){
- System.out.println(""+users);
- return users;
- }
复制代码 6.2 测试结果
七、吸收文件 MultipartFile
7.1 核心代码
- @PostMapping("/singleFileUpload")
- public String singleFileUpload(@RequestParam("file") MultipartFile file){
- //文件存储路径
- final String BASE_PATH = "E:\\xiezhrspace\\parm-demo\";
- if(file.isEmpty()){
- return "文件为空";
- }
- //获取文件名
- String fileName = file.getOriginalFilename();
- try {
- //新建一个文件路径
- File dest = new File(BASE_PATH + fileName);
- //判断路径是否存在,如果不存在就创建一个
- if(!dest.getParentFile().exists()){
- dest.getParentFile().mkdirs();
- }
- //将上传文件保存到一个目标文件当中
- file.transferTo(dest);
- } catch (IOException e) {
- e.printStackTrace();
- }
- return "上传成功";
- }
复制代码 7.2 测试结果
以上就是本期全部内容,盼望对您有所帮助,我们下期再见(●'◡'●)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |