在提到微服务、分布式、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值为服务端提供的方法的名称;
- 在接口里定义一个方法,方法名任意,参数列表要和服务端的方法一致。
由于客户端的代码还没有在注册中心注册,所以还没有进行测试,不知道结果怎么样。。。。。

本文介绍如何使用 Spring Cloud 实现客户端调用服务端提供的远程接口。首先,在服务端定义了一个 RESTful API,接着在客户端使用 @FeignClient 注解调用该接口。文章详细解释了 @FeignClient 和 @RequestMapping 的用法。
1029

被折叠的 条评论
为什么被折叠?



