• 9-8 Feign特性之Configuration


    做局部性的自定义configuration

    feign提供给我们的可配置的东西

    这是决定我们为什么之前可以使用SpringMVC来服务调用的原因。因为feign默认提供给我们的就是SpringMvcContract.
    这里我们来演示如果我们不用SpringMvc的Contract那么具体怎么去操作?

    自定义Feign的configuration

    configuration不能在Application的作用域之内,如果在作用域内它默认就会把它加载进来,会出问题。

    @SpringBootApplication 默认扫描的就是同级别和子目录

    我们consumer同级别建一个包feignconf

    application管的就是consumer包下的以及它的子包

    我们在feignconf下加载的就是我们额外的配置。



    我们去改变contract,选择feign包下的

    使用feign默认提供给我们的集成方式,

    上面加个@Bean注解

    启动eurekaServer、provider和consumer服务
    访问consumer的接口地址

    ProviderApi加载我们刚才写的配置类

    重启consumer服务就报错了:

    Caused by: java.lang.IllegalStateException: Method ProviderApi#providerPost(String,String,UserModel) not annotated with HTTP method type (ex. GET, POST)

    默认的配置不能识别我们当前写的语法

    feign的写法演示


    演示下feign默认提供的方式。这是feign的写法,写法非常的奇怪。

    把原来的两个方法,invokerProviderController和providerPost都注释掉。

    @RequestLine("GET /sayhello?message={message}")
    String invokerProviderController(@Param("message") String message);






    ProviderAPIImpl类里,这里也注释掉

    重启服务,也可以正常的访问。这是用feign自己的注解访问的方式。

    http://localhost:7201/sayhello/feign?message=imooc

    总结




    这里我们演示了默认的和SpringMvc的Contract

    进入Default方法

    这里就是Contract里面有个Default

    以上就是自定义配置给大家讲的内容

    结束

  • 相关阅读:
    「luogu2414」[NOI2011]阿狸的打字机
    【模板】KMP算法,AC自动机
    「luogu2336」[SCOI2012]喵星球上的点名
    「luogu2463」[SDOI2008]Sandy的卡片
    【模板】后缀数组
    「luogu1972」 [SDOI2009]HH的项链
    北师大部分题解
    D:Sequence Swapping
    Tinkoff Internship Warmup Round 2018 and Codeforces Round #475 (Div. 2)
    点双连通分量F. Simple Cycles Edges
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/12845784.html
Copyright © 2020-2023  润新知