前后端分离,后端用@RequestBody Map<String,Integer> map可以接收到值,用Integer id接收不到
时间: 2024-03-08 15:49:45 浏览: 117
快速解决SpringMVC @RequestBody 用map接收请求参数的问题
@RequestBody 注解表示请求体中的数据会被映射到方法的参数上。在这个例子中,请求体是一个 JSON 对象,它被映射到了一个 Map<String,Integer> 对象上。
如果后端使用 Integer id 参数接收请求体中的数据,那么就需要在请求体中指定 id 的键名,例如:
{
"id": 123
}
这样,后端就可以通过 @RequestBody Integer id 参数接收到请求体中的 id 值了。
如果你不想在请求体中指定键名,可以将 Map<String,Integer> 对象转化为一个自定义的 Java 对象,例如:
```
public class MyRequest {
private Integer id;
// getter and setter
}
```
然后在后端使用 @RequestBody MyRequest request 参数接收请求体中的数据。这样做的好处是可以在请求体中使用更加直观的属性名,同时也能够避免键名写错的问题。
阅读全文