• Feign调用,get请求,参数为对象, 解决请求对象以及参数值为null


    请求参数过多,所以包装成一个请求对象

    服务端:

       @GetMapping(value = "/readInfos")
        public List<ExctractInfoVO> readHotels(Search search){
            return this.service.readInfos(search);
        }

    API 

    @FeignClient(name = "server")//服务名
    public interface Server {
        
         @GetMapping(value = "/XXX/XXX/XXXX/readHotels", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
        public List<ExctractInfoVO> readInfos(Search search);
    
    
    
    }

    客户端

    @Service
    public class ServiceImpl implements Service{
    
        @Resource
        Server server;
        
        @Override
        public List<SearchResult> readInfos(Search search){

         Double bd09Lon1 = hotelSearch.getBd09Lon1();
         Double bd09Lat1 = hotelSearch.getBd09Lat1();
         hotelSearch = getLimit(hotelSearch, bd09Lon1, bd09Lat1, distance);

            List<ExctractInfoVO> list = server.readInfos(search);

    
        }
    
    }

    运行报错

    400:Request method 'POST' not supported

    上网查了一下  说了一堆源码的东西,结果就是少了一个包, 在服务端添加包

         <dependency>
                <groupId>io.github.openfeign</groupId>
                <artifactId>feign-httpclient</artifactId>
            </dependency>

    继续运行虽然没有报错但是数据没有收到

    请求

     在客户端断点

     服务端断点

    然后各种资料翻看,只是在服务端上面加个@RequestBody, 完美解决,虽然不知道会不会有bug 但是至少现在是解决的了

    @GetMapping(value = "/readInfos", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
        public List<ExctractInfoVO> readInfos(@RequestBody  Search search){
            return this.service.readInfos(search);
        }

    总得来说 就是添加一个包,一个注解

  • 相关阅读:
    读书笔记——吴军《态度》
    JZYZOJ1237 教授的测试 dfs
    NOI1999 JZYZOJ1289 棋盘分割 dp 方差的数学结论
    [JZYZOJ 1288][洛谷 1005] NOIP2007 矩阵取数 dp 高精度
    POJ 3904 JZYZOJ 1202 Sky Code 莫比乌斯反演 组合数
    POJ2157 Check the difficulty of problems 概率DP
    HDU3853 LOOPS 期望DP 简单
    Codeforces 148D. Bag of mice 概率dp
    POJ3071 Football 概率DP 简单
    HDU4405 Aeroplane chess 飞行棋 期望dp 简单
  • 原文地址:https://www.cnblogs.com/Cassie-wang/p/11690913.html
Copyright © 2020-2023  润新知