Spring 如何构造与dto结构完全相同的请求体?

Spring 如何构造与dto结构完全相同的请求体?,spring,rest,http,dto,Spring,Rest,Http,Dto,我有一个控制器,它有一个简单的post方法来保存一些用户实体: @RestController @RequestMapping("/api/user") public class UserController { @Autowired private UserService userService; @PostMapping public UserDto createUser(@RequestBody UserDto userDto) {

我有一个控制器,它有一个简单的post方法来保存一些用户实体:

@RestController
@RequestMapping("/api/user")
public class UserController {

    @Autowired
    private UserService userService;

    @PostMapping
    public UserDto createUser(@RequestBody UserDto userDto) {
        return userService.createUser(userDto);
    }
这是我的用户密码:

import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

@Getter
@Setter
@NoArgsConstructor
public class UserDto {

    private String userName;

}
它只有一个属性作为用户名,但当我发送具有不同结构的邮递员请求正文时,如:

{
    "id" : "23235",
    "userName" : "bek2sdadfgssddoo",
    "age" : "33"
}
代码仍然在工作。但我预期会出现一些错误,即请求主体结构与dto的结构不同,但它使用的是userName属性。由于请求正文的结构必须与dto结构相同,这是正常的还是如何修复的?

检查此项