使用Feign调用微服务接口

  1. 建一个普通的java接口(interface)
  2. 在类上面加上MarsFeign注解,具体看下面示例:
/* 
这个注解的serverName跟你要调用的那个服务的name一致(配置类里cloud配置的name) 
beanName 不写的话,默认为类名首字母小写
*/
@MarsFeign(serverName="mars-demo",beanName="demoFeign")
public interface DemoFeign {
    /* 
    这里面的所有方法,跟你要调用的那个API中的方法名一致 
    方法的参数,跟你要调用的那个API一样
    */
    返回类型 insert(DemoEntity entity);

    /*
    可以用@MarsContentType注解 来指定本次请求的ContentType
    */
    @MarsContentType(ContentType = ContentType.JSON)
    返回类型 selectList(DemoEntity entity);
}

在你的MarsBean里注入这个对象

@MarsBean("testService")
public class TestService {

    @MarsWrite("demoFeign")
    private DemoFeign demoFeign;
}

然后直接调用里面的方法即可

注意事项

@MarsContentType 注解 一共有三个选项:

  1. FORM, 普通的表单提交(可以跟POST,GET等任意请求方式一起使用)
  2. FORM_DATA, 流的方式提交,除了GET以外,其他的请求方式均可使用,一般用于传输文件
  3. JSON,以JSON字符串的形式提交,除了GET以外,其他的请求方式均可使用

如果不配的话,默认是以表单的形式提交

results matching ""

    No results matching ""