SpringBoot | 您所在的位置:网站首页 › aoc2781参数 › SpringBoot |
上一篇文章介绍了 Controller 如何接收通过 GET 方式传递过来的参数,这篇文章介绍一下何接收通过 POST 方式传递过来的参数。 本篇文章为了方便 使用 Postman 进行 POST 请求 的测试 一、接收 Form 表单数据 1、基本的接收方法(1)创建 Controller 接收 form-data 格式的 POST 数据,如下所示: @RestController public class BookController { @PostMapping("/add") public String save(@RequestParam("name") String name, @RequestParam("author") String author){ System.out.println("书名:" + name + ", 作者: " + author); return "书名:" + name + ", 作者: " + author; } }(2)、测试结果: 说明: 使用 required = false 标注参数是非必须的。使用 defaultValue 给参数指定个默认值。 2、使用 map 来接收参数(1)用 map 接收 Controller 直接接收所有的请求参数: @RestController public class BookController { @PostMapping("/add") public String save(@RequestParam Map map){ System.out.println("书名:" + map.get("name") + ", 作者: " + map.get("author")); return "书名:" + map.get("name") + ", 作者: " + map.get("author"); } }(2)、重启服务测试 3、使用数组或List接收多个参数 (1)创建 Controller 如下所示: @RestController public class BookController { @PostMapping("/many") public String many(@RequestParam String[] names){ return Arrays.toString(names); } }(2)、重启测试 (1)、创建一个实体类 Book。 public class Book { private String name; private String author; // 省略 getter setter 方法 }(2)、定义 Controller @RestController public class BookController { @PostMapping("/add") public String save(Book book){ System.out.println("书名:" + book.getName() + ", 作者: " + book.getAuthor()); return "书名:" + book.getName() + ", 作者: " + book.getAuthor(); } }(3)、运行测试 二、接收 JSON 数据 在前后端分离项目中,一般是通JSON格式进行数据的传输,通过JSON 发送POST数据的格式很简单,只需要把 form 接收数据时 Controller 中的方法参数钱加上一个 @Requestbody 注解接口。如下所示: (1)、Controller 示例: @RestController public class BookController { @PostMapping("/add") public String save(@RequestBody Book book){ System.out.println("书名:" + book.getName() + ", 作者: " + book.getAuthor()); return "书名:" + book.getName() + ", 作者: " + book.getAuthor(); } }(2)、运行测试: |
CopyRight 2018-2019 实验室设备网 版权所有 |