您的位置:首页 > 编程语言 > Java开发

spring cloud客户端远程调用服务端接口

2018-02-09 16:15 405 查看
在提到微服务、分布式、Restful的时候,自然而然就想到了spring boot和spring cloud,今天写一写spring cloud客户端如何调用远程服务端提供的接口。

注:这是在同一个注册中心注册的不同服务间的调用。

首先,需要在服务端提供一个接口:

@RestController
public class ServiceTest {
@ResponseBody
@ApiOperation(value = "服务端接口", notes = "")
@RequestMapping(value = "/list", method = RequestMethod.GET)
public Object list() {
List<Object> resultList = service.getIdList();
Map<String, Object> resultMsg = CommonUtil.renderData(StatusCode.ERR_CODE_2202200_OK,
StatusCode.ERR_CODE_2202200_MSG, resultList);
return resultMsg;
}
}


然后在客户端定义一个接口interface,

@FeignClient(name = "ServiceTest")
public interface IServiceTest {
@RequestMapping(value = "/list", method = RequestMethod.GET)
List<Object> getList();
}


通过使用@FeignClient注解就可以调远程的服务端接口了。

说明:

@FeignClient后面的name值为服务端在注册中心注册的名称,还有一个参数为url,代表服务端访问的ip地址;

@RequestMapping注解的value值为服务端提供的方法的名称;

在接口里定义一个方法,方法名任意,参数列表要和服务端的方法一致。

由于客户端的代码还没有在注册中心注册,所以还没有进行测试,不知道结果怎么样。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: