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

在提到微服务、分布式、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注解就可以调远程的服务端接口了。
说明:

  1. @FeignClient后面的name值为服务端在注册中心注册的名称,还有一个参数为url,代表服务端访问的ip地址;
  2. @RequestMapping注解的value值为服务端提供的方法的名称;
  3. 在接口里定义一个方法,方法名任意,参数列表要和服务端的方法一致。

由于客户端的代码还没有在注册中心注册,所以还没有进行测试,不知道结果怎么样。。。。。

猜你喜欢

转载自blog.csdn.net/steven_sf/article/details/79299596