1.概述
在平台中我们需要调用微服务一般的情况下,我们可以编写Feign接口进行调用,有些情况下,比如在表单方案中,我们不想编写一个固定的Feign接口,平台提供了一个通用的调用方法。
2.具体实现
在jpaas-share 模块提供了一个接口调用类。
@FeignClient("customer-service")
public interface CustomerClient {
/**
* 使用post调用微服务接口。
* @param appName 微服务名称
* @param url 调用的URL
* @param params 调用的参数
* @return
*/
@PostMapping("//{appName}/{url}")
Object executePostApi(@PathVariable("appName") String appName,
@PathVariable("url") String url,
@RequestBody Object params);
/**
* 使用get方法调用微服务接口。
* @param appName
* @param url
* @param params
* @return
*/
@GetMapping("//{appName}/{url}")
Object executeGetApi(@PathVariable("appName") String appName,
@PathVariable("url") String url,
@SpringQueryMap Object params);
}
用户可以通过 SpringUtil.getBean(com.redxun.feign.common.CustomerClient.class)获取具体的类实例进行使用。
3.需要注意的问题
- 参数的URL
参数URL首字符不要使用 斜杠 (/) 。
4.案例
import com.redxun.common.utils.SpringUtil;
import com.redxun.system.core.service.SysSeqIdServiceImpl;
SysSeqIdServiceImpl sysSeqIdServiceImpl=SpringUtil.getBean(SysSeqIdServiceImpl.class);
return sysSeqIdServiceImpl.genSeqNo("tasknum");
文档更新时间: 2022-05-24 11:32 作者:zyg