SpringBoot 您所在的位置:网站首页 aoc2781参数 SpringBoot

SpringBoot

2023-08-15 15:19| 来源: 网络整理| 查看: 265

上一篇文章介绍了 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)、重启测试

 4、使用对象来接收参数

(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 实验室设备网 版权所有