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

但,如果我們要了解一個系統的狀況信息呢,如健康狀態,內存使用率,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,很多框架使用該特性,如健康檢查

