“@ModelAttribute 在 Spring Boot POST 请求中传递 JSON 时返回 null”

问题描述 投票:0回答:1

我尝试创建简单的待办事项列表 api。在它里面,我在控制器中实现了添加任务功能,但是当我使用 postman api 传递 json 格式时,无法获取参数内容的正确值,我得到了 null 为什么会发生这种情况

@PostMapping(“/创建”) 公共用户addTask(@ModelAttribute用户用户){

    User user=new User();
    user.setContent(users.getContent());
    user.setDone(false);
    System.out.println(users.getContent());
    return todoService.addTask(user);
}

json格式传递参数值,得到内容为空值](https://i.sstatic.net/Ik8XQpWk.png)

我想提取用户输入的内容值,并希望获得实际值,尽管为空

spring-boot jpa postman lombok
1个回答
0
投票

当您通过 JSON body 传递数据时,我们需要使用 @RequestBody 注解。

@PostMapping("/create") 
public User addTask(@RequestBody User users) {

    User user=new User();
    user.setContent(users.getContent());
    user.setDone(false);
    System.out.println(users.getContent());
    return todoService.addTask(user);
}

@ModelAttribute当你想通过URL传递数据时使用。

有关更多信息,请参阅此链接https://stackoverflow.com/questions/21824012/spring-modelattribute-vs-requestbody#:~:text=With%20%40ModelAttribute%2C%20you%20pass%20data,pass% 20it%20as%20JSON%20body.

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.