服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - FeignClient实现接口调用方式(不同参数形式)

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

2022-09-27 12:04苏北辙 Java教程

这篇文章主要介绍了FeignClient实现接口调用方式(不同参数形式),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

FeignClient接口调用

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

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

1、无参

服务端方法:

?
1
2
3
4
5
6
7
8
    /**
     * 测试,获取简单文本
     */
    @GetMapping("/info")
    public String info()
    {
        return "零零";
    }

客户端方法:

?
1
2
3
4
5
    /**
     * 接口测试
     */
    @GetMapping(value = "/info")
    public String getInfo();

2、字符串参数

服务端方法:

?
1
2
3
4
5
@ResponseBody
    @PostMapping(value = "/test")
    public String test(String s) {
        return s;
    }

客户端方法:

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

3、对象参数

服务端方法:

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

客户端方法:

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

feign接口参数遇到的bug

服务接收方接口

如下:

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

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

解决方案

如下:

第一次尝试:

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

第二次尝试 :

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

第三次尝试:

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

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/qq_42422368/article/details/109381309

延伸 · 阅读

精彩推荐