@ApiOperation註解,@FeignClient

 

@ApiOperation不是spring自帶的註解,是swagger裏的 
com.wordnik.swagger.annotations.ApiOperation;html

@ApiOperation和@ApiParam爲API生成作的註解,個參數說明以下: 
@ApiOperation(value = 「接口說明」, httpMethod = 「接口請求方式」, response = 「接口返回參數類型」, notes = 「接口發佈說明」;其餘參數可參考源碼; 
@ApiParam(required = 「是否必須參數」, name = 「參數名稱」, value = 「參數具體描述」spring

詳細請參與以下:數組

https://blog.csdn.net/fansunion/article/details/51923720負載均衡

 

@FeignClientpost

是spring cloud的註解,服務能夠使用@FeignClient使用和發現服務場中的其餘服務ui

 

總到來講,Feign的源碼實現的過程以下:url

  • 首先經過@EnableFeignCleints註解開啓FeignCleint
  • 根據Feign的規則實現接口,並加@FeignCleint註解
  • 程序啓動後,會進行包掃描,掃描全部的@ FeignCleint的註解的類,並將這些信息注入到ioc容器中。
  • 當接口的方法被調用,經過jdk的代理,來生成具體的RequesTemplate
  • RequesTemplate在生成Request
  • Request交給Client去處理,其中Client能夠是HttpUrlConnection、HttpClient也能夠是Okhttp
  • 最後Client被封裝到LoadBalanceClient類,這個類結合類Ribbon作到了負載均衡。

詳見下面博客spa

https://blog.csdn.net/chenqipc/article/details/53322796.net

 

 

複製代碼
@Retention(RetentionPolicy.RUNTIME)  
@Target({ElementType.TYPE, ElementType.METHOD})  
@Documented  
@Conditional({OnPropertyCondition.class})  
public @interface ConditionalOnProperty {  
    String[] value() default {}; //數組,獲取對應property名稱的值,與name不可同時使用  
  
    String prefix() default "";//property名稱的前綴,無關緊要  
  
    String[] name() default {};//數組,property完整名稱或部分名稱(可與prefix組合使用,組成完整的property名稱),與value不可同時使用  
  
    String havingValue() default "";//可與name組合使用,比較獲取到的屬性值與havingValue給定的值是否相同,相同才加載配置  
  
    boolean matchIfMissing() default false;//缺乏該property時是否能夠加載。若是爲true,沒有該property也會正常加載;反之報錯  
  
    boolean relaxedNames() default true;//是否能夠鬆散匹配,至今不知道怎麼使用的  
}  
複製代碼
相關文章
相關標籤/搜索