FeignClient实现接口调用方式(不同参数形式)

目录
  • FeignClient接口调用
    • 1、无参
    • 2、字符串参数
    • 3、对象参数
  • feign接口参数遇到的bug
    • 服务接收方接口
    • 解决方案

FeignClient接口调用

  • 无参
  • 字符串参数
  • 对象参数

拟定客户端调用服务端接口,直接放代码啦,参考格式即可。

1、无参

服务端方法:

    /**
     * 测试,获取简单文本
     */
    @GetMapping("/info")
    public String info()
    {
        return "零零";
    }

客户端方法:

    /**
     * 接口测试
     */
    @GetMapping(value = "/info")
    public String getInfo();

2、字符串参数

服务端方法:

@ResponseBody
    @PostMapping(value = "/test")
    public String test(String s) {
        return s;
    }

客户端方法:

   @RequestMapping(value = "/test", method = RequestMethod.POST)
    String test(@RequestParam(value = "s") String s);

3、对象参数

服务端方法:

    @PostMapping(value = "/company/list")
    public List<CruiseCompInfo> companyList(@RequestBody CruiseCompInfo cruiseCompInfo)
    {
        return cruiseCompInfoService.selectCruiseCompInfoList(cruiseCompInfo);
    }

客户端方法:

  @RequestMapping(value = "/company/list", method = RequestMethod.POST)
    public List<CruiseCompInfo> companyList(@RequestBody CruiseCompInfo cruiseCompInfo);

feign接口参数遇到的bug

服务接收方接口

如下:

当服务调用发调用服务时候,调用方传参数过来,但是接受方接口里的参数对象里的属性全部为空。

解决方案

如下:

第一次尝试:

所有的属性上面都加上@JsonProperty(value=属性名),无效

第二次尝试 :

所有的属性上面都加上@JsonProperty(value=属性名第一个字母大写),无效

第三次尝试:

没有传值的属性上面不要加@JsonProperty注解 有效

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • feign实现传递参数的三种方式小结

    需要注意的一点是,feign好像是无法传递list集合类型的,但是你可以通过传递对象类型,然后在接收方再次将对象装在集合中达到集合传递的效果 传递方式一:传递的都是基本数据类型 restful风格参数,用@PathVariable写着走就行了 传递方式二:传递数组类型的参数 不使用restful风格,直接用@RequestParam声明参数之间的对应关系. 传递方式三:传递带有对象的参数 1.使用restful风格的参数要用@Pathvarible声明参数对应关系,@Pathvariable用于

  • SpringCloud全面解析@FeignClient标识接口的过程

    目录 Feign的作用 正常在SpringMVC的Controller SpringCloud将@FeignClient标识的接口 让大家明白在使用过程中需要注意以及可以灵活拓展的地方 Feign的作用 是将Http请求抽象化为一个Interface客户端,可以调用接口的形式来执行Http请求,以达到简化Http调用的目的. Feign将分散在@FeignClient,@EnableFeignClients,标识接口,接口方法,Spring环境上的各种配置信息提取出来封装成一个对象,然后将对象里

  • SpringCloud使用Feign实现服务调用

    Spring Cloud Feign简介 Spring Cloud Feign也是一个基础工具类,它整合了Spring Cloud Ribbon和Spring Cloud Hystrix,除了提供这两者的强大功能以外,它还提供了一种声明式的Web服务客户端定义方式.使用它可以进行服务的消费,但是它的客户端负载平衡仍是通过Ribbon实现的 使用Spring Cloud Feign 创建一个SpringBoot工程,作为服务调用方 1.pom.xml <dependency> <group

  • FeignClient实现接口调用方式(不同参数形式)

    目录 FeignClient接口调用 1.无参 2.字符串参数 3.对象参数 feign接口参数遇到的bug 服务接收方接口 解决方案 FeignClient接口调用 无参 字符串参数 对象参数 拟定客户端调用服务端接口,直接放代码啦,参考格式即可. 1.无参 服务端方法:     /**      * 测试,获取简单文本      */     @GetMapping("/info")     public String info()     {         return &qu

  • python的Jenkins接口调用方式

    本来非常喜欢偷懒 最好就是不干活那种 所以最近在研究把Jenkins模块集成起来 做成傻瓜界面这样就给他们用 本人Python搓望大神不要喷,多多指导 jenkins的Python模块模块安装 pip: pip install python-jenkins easy_install: easy_install python-jenkins 使用: class jenkins_tools(): def __init__(self): cf = get_conf() self.username =

  • feignclient https 接口调用报证书错误的解决方案

    目录 feignclienthttps接口调用报证书错误 问题 当时的解决方案 通过以下方式解决了 HTTPS(SSL)证书下载及配置 SSL证书的下载(阿里云) SSL证书的配置 feignclient https接口调用报证书错误 问题 最近在使用 feignclient 过程中,和第三方通过https 协议交互的时候,报错如下: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid

  • springboot单独使用feign简化接口调用方式

    目录 单独使用feign简化接口调用 1.引入maven 2.启动类添加@EnableFeignClients注解 3.像平常一样写一个service接口 4.调用接口 springbootfeign调用方式比较 1.事发原因 2.方式1介绍 3.方式2介绍 4.调用结果测试 5.两种方式对比 6.小结一下 单独使用feign简化接口调用 与HttpClient和RestTemplate相比,使用springcloud的feign调用远程接口更为简便,可以通过配置的方式实现远程接口调用.但是有时

  • 微信小程序 wx.request(接口调用方式)详解及实例

    微信小程序 wx.request----接口调用方式 最近开发了一个微信小程序版的任务管理系统,在向Java后台发送接口时遇到了一些问题,在这里做一个简单的总结. 官方接口 官方给出的接口叫做wx.request,请求方式比较简单,下面是官网给出的请求实例. wx.request({ url: 'test.php', //仅为示例,并非真实的接口地址 data: { x: '' , y: '' }, header: { 'content-type': 'application/json' },

  • 浅谈java调用Restful API接口的方式

    摘要:最近有一个需求,为客户提供一些RestfulAPI接口,QA使用postman进行测试,但是postman的测试接口与java调用的相似但并不相同,于是想自己写一个程序去测试RestfulAPI接口,由于使用的是HTTPS,所以还要考虑到对于HTTPS的处理.由于我也是首次使用Java调用restful接口,所以还要研究一番,自然也是查阅了一些资料. 分析:这个问题与模块之间的调用不同,比如我有两个模块frontend和backend,frontend提供前台展示,backend提供数据支

  • Python中函数参数调用方式分析

    本文实例讲述了Python中函数参数调用方式.分享给大家供大家参考,具体如下: Python中函数的参数是很灵活的,下面分四种情况进行说明. (1) fun(arg1, arg2, ...) 这是最常见的方式,也是和其它语言类似的方式 下面是一个实例: >>> def fun(x, y): return x - y >>> fun(12, -2) 14 (2) fun(arg1, arg2=value2, ...) 这种就是所谓的带默认参数的函数,调用的时候我们可以指定

  • C#使用Post调用接口并传递json参数

    目录 Post调用接口并传递json参数 Post请求参数(发送Json参数.发送普通参数) 1.发送Json格式的Post请求 2.带参数的Post请求 Post调用接口并传递json参数 public string Post(string Url, string jsonParas) { string strURL = Url; //创建一个HTTP请求 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL); /

  • angularjs $http调用接口的方式详解

    如下所示: $http.get("/merchantmall/merchant.json") .success(function(data, status, headers, config) { console.log(arguments); }) .error(function(data, status, headers, config) { console.log(arguments); }) $http({url: "/merchantmall/merchant.jso

  • python带参数打包exe及调用方式

    1.举个栗子:XX.py import sys arg1 = sys.argv[1] arg2 = sys.argv[2] print(arg1) print(arg2) 平时运行python XX.py arg1 arg2 打包完成后运行XX.exe arg1 arg2 打包完成后运行后并获得print输出 output=os.popen('path\XX.exe arg1 arg2').read() 2.一般打包都是使用pyinstaller -F -w xxx.py,传入参数之后没有任何提

随机推荐