Springboot中Feign的使用總結


Feign是Webservice服務的客戶端,創建接口+注解就可完成,實現簡單

  1. 客戶端通過@EnableFeignClients開啟Feign的支持功能
    
         
         
         
                 
    1. @SpringBootApplication
    2. @EnableEurekaClient
    3. @EnableFeignClients
    4. @RestController
    5. public class TestApplication {
    6. public static void main(String[] args) {
    7. SpringApplication.run(TestApplication.class, args);
    8. }
    9. }
    <p>&nbsp;</p>
    </li>
    <li>定義接口,通過@FeignClient("remote-service")&nbsp; 注解指定服務名來綁定服務,再使用SpringMVC的注解@RequestMapping來綁定具體該服務提供的REST接口&nbsp;&nbsp;<span style="color:#f33b45;"><strong>注</strong>:服務名不區分大小寫</span>
    <pre class="has" name="code" onclick="hljs.signin(event)"><code class="language-java hljs"><ol class="hljs-ln"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">@FeignClient</span>(name = <span class="hljs-string">"user-service"</span>)</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">UserService</span> </span>{</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-meta">@RequestMapping</span>(value = <span class="hljs-string">"/service/getUserinfo"</span>)</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-function"><span class="hljs-keyword">public</span> Map&lt;String, Object&gt; <span class="hljs-title">getUserinfo</span><span class="hljs-params">(@RequestParam(value = <span class="hljs-string">"userid"</span>)</span> String userid)</span>;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="6"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="7"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">}</div></div></li></ol></code><div class="hljs-button signin" data-title="登錄后復制"></div></pre>
    </li>
    <li>創建Controller,注入接口,即可使用</li>
    

補充說明

上面中FeignClient的映射路徑就是調用服務提供者的訪問路徑,根據訪問路徑調用方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM