本帖最后由 0xCAFEBABE 于 2023-4-6 23:08 编辑
使用 Java 17 环境,Spring boot 3 框架
如何在控制器(Controller)中,接收来自客户端的 POST 请求,请求体(Body)为 JSON 格式的数据
并且使用检验用户输入的 JSON 数据是否有效
控制器:
[Java] 纯文本查看 复制代码 package com.example.demo.controller;
import com.example.demo.domain.Account;
import jakarta.validation.Valid;
import org.springframework.web.bind.annotation.*;
@RestController
public class AccountController {
@PostMapping()
public Account account(@Valid @RequestBody Account account) {
System.out.println(account);
return account;
}
}
数据类:
[Java] 纯文本查看 复制代码 package com.example.demo.domain;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import org.hibernate.validator.constraints.Range;
public record Account(
@NotNull
@Size(min = 4, max = 15)
String name,
@NotNull
@Range(min = 0, max = 120)
Integer age) {
}
需要用到的依赖 Jar 包,Maven 的 pom.xml 文件
[XML] 纯文本查看 复制代码 <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
|