没使用@RequestBody接收到的前端json对象传参,属性都为null
时间: 2024-03-06 20:49:01 浏览: 70
如果没有使用@RequestBody注解接收前端传递的JSON对象,但是在后端接收到的对象属性值都为null,可能是因为以下原因:
1. 前端传递的JSON对象与后端接收的对象类型不匹配,需要保证前后端对象类型一致,具体可以参考前面回答的问题。
2. 在前端传递JSON对象时,需要将其转换成字符串后再进行传输,可以使用JSON.stringify()方法将JSON对象转换成字符串,例如:
```
fetch('/api/test', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ name: 'Tom', age: 18 })
})
```
3. 在后端接口中需要使用@RequestParam或者@PathVariable注解来接收前端传递的参数,例如:
```
@PostMapping("/test")
public String test(@RequestParam("name") String name, @RequestParam("age") Integer age) {
// do something
}
```
4. 可以在后端接口中添加日志或者打印信息,查看是否正确接收到了前端传递的JSON对象。
如果以上几点都没有问题,那么可以考虑使用其他方式接收前端传递的JSON对象。
相关问题
为什么不使用@RequestBody接收到的前端json对象传参,属性都为null
如果使用@RequestBody注解接收前端传递的JSON对象,但是在后端接收到的对象属性值都为null,可能是因为以下原因:
1. 请求头中的Content-Type属性没有设置为application/json,可以在请求头中设置Content-Type属性为application/json,例如:
```
headers: {
'Content-Type': 'application/json'
}
```
2. 前端传递的JSON对象与后端接收的对象类型不匹配,需要保证前后端对象类型一致,具体可以参考前面回答的问题。
3. 在使用@RequestBody注解接收JSON对象时,需要保证JSON对象中的属性名与后端接收对象的属性名一致,包括大小写是否一致等。
4. 可以在后端接口中添加日志或者打印信息,查看是否正确接收到了前端传递的JSON对象。
如果以上几点都没有问题,那么可以考虑使用其他方式接收前端传递的JSON对象。
为什么不用不用@RequestBody接收到的前端json对象传参,属性都为null
如果使用@RequestBody注解接收前端传递的JSON对象,但是在后端接收到的对象属性值都为null,可能是因为以下原因:
1. 请求头中的Content-Type属性没有设置为application/json,可以在请求头中设置Content-Type属性为application/json,例如:
```
headers: {
'Content-Type': 'application/json'
}
```
2. 前端传递的JSON对象与后端接收的对象类型不匹配,需要保证前后端对象类型一致,具体可以参考前面回答的问题。
3. 在使用@RequestBody注解接收JSON对象时,需要保证JSON对象中的属性名与后端接收对象的属性名一致,包括大小写是否一致等。
4. 可以在后端接口中添加日志或者打印信息,查看是否正确接收到了前端传递的JSON对象。
如果以上几点都没有问题,那么可以考虑使用其他方式接收前端传递的JSON对象。
阅读全文