之前
传统意义上或者按照官方用法是:
- 调用方服务中主启动类上加@EnableFeignClients注解
- 调用方服务中定义接口、定义方法,接口上加@FeignClient注解,方法上加@requestMapping
- 调用方服务中某一个service中使用@autowired引入当前接口像调用本服务网方法一样进行调用
- 被调用方的接口正常书写即可
目前
为了调用方便或者说使用方便:
- 被调用方定义提供服务的接口、方法,接口上加@feignClient注解
@FeignClient(contextId = "remoteDataService", value = "${cloud.name.service.coordinate:data-coordinate}")
public interface RemoteDataItemService {
/**
* 根据名称获取数据
* @param name 名称
* @param from
* @return
*/
@GetMapping("/MyDemo/getOne")
DataItemVO getOne(@RequestParam("name") String name, @RequestHeader(SecurityConstants.FROM) String from);
- 在被调用方
@RestController
@RequestMapping(“/MyDemo”)
@Api(value = “数据接口服务”, tags = “数据接口服务”)
public class FeignDataApi {
/**
* 和正常接口一样,controller,service,mapper
* @param name
* @return
*/
@Inner(value = false)
@GetMapping("/getOne")
public DataItemVO getOne(@RequestParam("name") String name){
// 这里去调用service中的方法获取数据
}
- 将被调用方提供暴露的接口打成api包
- 调用方服务中直接引入api包并通过@autowired引入进行调用即可
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END





















暂无评论内容