今天我們來(lái)一起學(xué)習(xí)如何在controller中接收json數(shù)據(jù)。首先需要在springboot的pom文件中引入以下兩個(gè)依賴:
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.11.4</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
這兩個(gè)依賴分別是用來(lái)序列化和反序列化json數(shù)據(jù)以及構(gòu)建web應(yīng)用程序的。
在controller中,我們需要使用@RequestBody注釋來(lái)接收json數(shù)據(jù),代碼如下:
@PostMapping("/data") public String receiveData(@RequestBody Data data) { // 處理json數(shù)據(jù) return "success"; }
其中,@PostMapping("/data")表示當(dāng)有post請(qǐng)求訪問(wèn)“/data”時(shí),調(diào)用該方法。@RequestBody注釋表示接收數(shù)據(jù)并將其解析為Data對(duì)象。
接下來(lái),我們來(lái)看一下Data類的定義:
public class Data { private String name; private int age; // getter和setter方法 }
可以看到,Data類中定義了兩個(gè)屬性,分別是名字和年齡。我們可以從json數(shù)據(jù)中解析這些屬性值。
在使用postman等工具進(jìn)行測(cè)試時(shí),需要在請(qǐng)求頭中指定Content-Type為application/json,并在請(qǐng)求體中傳遞json數(shù)據(jù),如下:
{ "name": "張三", "age": 20 }
這樣,我們就可以成功將json數(shù)據(jù)傳遞給controller并進(jìn)行處理。