帶你理解springboot中的endpoint


背景:我們如果要查詢一個商品列表的信息,需要調用后台商品列表一個接口,類似:

 

但,如果我們要了解一個系統的狀況信息呢,如健康狀態,內存使用率,cpu占用率;此時我們還是一樣需要調用一個接口,但這個接口是給運維人員使用的或者內部使用的,

並非給用戶端調用的;為了區分這種場景,springboot新增了EndPoint的方式來實現:如下:

 

你可以簡單把endPoint方式實現接口的當作特殊的RequestMapping方式,其實你看底層源碼,

會發現他們在DispatcherServlet中的邏輯是一樣的既然是給內部或者運維使用的,

這些接口默認是不開放的,也就是外部不能訪問,我們要使用,需要先在yml中配置,在這之前需要先引入依賴:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

 

那么我們回到上面那個HealthEndPoint看看該接口的訪問路徑:http:ip:端口/actuator/health   看起來是不是跟RequestMapping的訪問方式一致呢;

那我們如何自己定義Endpoint呢?

 

  訪問一下:

 

 總結:可以把endPoint看成特殊的RequestMapping,很多框架使用該特性,如健康檢查

 

 

 

 
        




 


免責聲明!

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



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