如何在控制器(Controller)中,接收来自客户端的 POST 请求,请求体(Body)为 JSON 格式的数据
并且使用检验用户输入的 JSON 数据是否有效
控制器:
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; } } |
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) { } |
<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> |