zoukankan      html  css  js  c++  java
  • 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请求错误

    解决方法:

    一:将传递参数一一列出来传递;

    @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);
    }
  • 相关阅读:
    C++11线程池
    muduo的事件处理(Reactor模型关键结构)
    sed和awk
    gdb
    C#访问级别
    C#表达式树浅析
    C#并发实战Parallel.ForEach使用
    c#获取本月有哪些周六、周日
    重装了Devexpress后项目报Dll引用找不到问题解决办法
    C#单例模式
  • 原文地址:https://www.cnblogs.com/smiledragon/p/15067420.html
Copyright © 2011-2022 走看看