您好,欢迎来到海洋目录网!网站收录,值得选择!长期招友情链接 QQ10212321

快审
当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

java版spring cloud微服务架构b2b2c--Feign自定义注解翻译器

来源:本站原创 浏览:22次 时间:2020-07-05

一 、新建自定义注解MyUrl了解springcloud架构可以加求求:三五三六二四七二五九

package org.crazyit.cloud.contract;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;//这个注解只能定义方法@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface MyUrl {    //为注解配置两个属性    String url();    String method();}

二、 新建接口,使用MyUrl注解

package org.crazyit.cloud.contract;public interface ContractClient {    @MyUrl(url = "/hello", method = "GET")    public String hello();}

三、 定义注解翻译器

package org.crazyit.cloud.contract;import java.lang.annotation.Annotation;import java.lang.reflect.Method;import feign.Contract.BaseContract;import feign.MethodMetadata;public class MyContract extends BaseContract {    @Override    protected void processAnnotationOnClass(MethodMetadata data, Class<?> clz) {        // 处理类级别注解    }    @Override    protected void processAnnotationOnMethod(MethodMetadata data,            Annotation annotation, Method method) {        // 注解是MyUrl类型的,才处理        if(MyUrl.class.isInstance(annotation)) {            MyUrl myUrl = method.getAnnotation(MyUrl.class);            String url = myUrl.url();            String httpMethod = myUrl.method();            data.template().method(httpMethod);            data.template().append(url);        }    }    @Override    protected boolean processAnnotationsOnParameter(MethodMetadata data,            Annotation[] annotations, int paramIndex) {        // 处理参数级别注解        return false;    }}

四、 测试类

package org.crazyit.cloud.contract;import org.crazyit.cloud.jaxrs.RsClient;import feign.Feign;import feign.jaxrs.JAXRSContract;public class ContractMain {    public static void main(String[] args) {        ContractClient client = Feign.builder()                .contract(new MyContract())                .target(ContractClient.class,                "http://localhost:8080");        String result = client.hello();        System.out.println(result);    }}

推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • DMOZ目录DMOZ目录

    DMOZ中文网站分类目录-免费收录各类优秀网站的中文网站目录.由人工编辑,并提供网站分类目录检索及地区分类目录检索,是站长免费推广网站的有力平台!

    www.dmozdir.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • Adcd网站目录Adcd网站目录

    Adcd网站目录是全免费的网址提交目录,收录国内外、各行业优秀网站,为用户提供全面的网站分类目录网站、优秀网站参考、友情链接交换平台、网站推广服务国内免费的网站提交入口(www.adcd.cn)。

    https://www.adcd.cn