SpringCloud Feign調用服務接口時,GET請求變成POST請求報錯

當業務中須要用的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請求錯誤app

解決方法:ide

一:將傳遞參數一一列出來傳遞;ui

@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); }
相關文章
相關標籤/搜索