当业务中需要用的Feign调用GET请求接口时,例如:
@GetMapping("/query_user")
@ApiOperation("查询用户")
public List<UserVO> queryByUserRequest(UserRequest userRequest){
final List<UserVO> userList= userService.queryByUserRequest(userRequest);
return userList;
}
其中UserRequest中封装有多个参数,使用Feign调用时,参数直接这样传递,浏览器默认获取参数转成POST调取接口,会报不支持POST请求错误
解决方法:
一:将传递参数一一列出来传递;
@FeignClient("user-main")
public interface UserFeignClient {
@GetMapping("/query_user")
Result<List<UserVO>> getUserList(@RequestParam Integer age, @RequestParam String name, @RequestParam(required = false) String job);
}
二:参数过多时加上注解 @SpringQueryMap
@FeignClient("user-main")
public interface UserFeignClient {
@GetMapping("/query_user")
Result<List<UserVO>> getUserList(@SpringQueryMapUserRequest userRequest);
}