带你理解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