问题一: @RequestParam 和 @RequestBody 的用法
使用Apifox对接口测试的时候报错
No primary or single unique constructor found for interface java.util.List
查到的解决方法是在接口上加@RequestBody()注解
@PostMapping("/removeObjects")
public Object removeObjects(String bucketName,@RequestBody()List<String> objects) {
Iterable removeObjects = minionUtil.removeObjects(bucketName, objects);
return removeObjects;
}
添加后出现报错
Content type 'multipart/form-data;boundary=--------------------------876068638251331430957358;charset=UTF-8' not supported
搜索之后发现要我去掉@RequestBody()注解?
解决方法:添加@RequestParam注解
@PostMapping("/removeObjects")
public Object removeObjects(String bucketName,@RequestParam List<String> objects) {
原因:
注意:
1、一个请求最多只能有一个@RequestBody注解
2、Content-type:
(1)application/x-www-form-urlencoded:@RequestBody不是必须加的
(2)mutipart/form-data:@RequestBody不能处理这种格式
(3)其他格式,比如application/json,application/xml等,必须使用@RequestBody来处理