背景:我们如果要查询一个商品列表的信息,需要调用后台商品列表一个接口,类似:

带你理解springboot中的endpoint

 

但,如果我们要了解一个系统的状况信息呢,如健康状态,内存使用率,cpu占用率;此时我们还是一样需要调用一个接口,但这个接口是给运维人员使用的或者内部使用的,

并非给用户端调用的;为了区分这种场景,springboot新增了EndPoint的方式来实现:如下:

带你理解springboot中的endpoint

 

你可以简单把endPoint方式实现接口的当作特殊的RequestMapping方式,其实你看底层源码,

会发现他们在DispatcherServlet中的逻辑是一样的既然是给内部或者运维使用的,

这些接口默认是不开放的,也就是外部不能访问,我们要使用,需要先在yml中配置,在这之前需要先引入依赖:

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

带你理解springboot中的endpoint

 

那么我们回到上面那个HealthEndPoint看看该接口的访问路径:http:ip:端口/actuator/health   看起来是不是跟RequestMapping的访问方式一致呢;

那我们如何自己定义Endpoint呢?

带你理解springboot中的endpoint

 

  访问一下:

带你理解springboot中的endpoint

 

 总结:可以把endPoint看成特殊的RequestMapping,很多框架使用该特性,如健康检查

 

带你理解springboot中的endpoint

 

 






 

相关文章:

  • 2022-02-10
  • 2021-10-21
  • 2021-04-26
  • 2021-12-27
  • 2021-06-17
  • 2022-12-23
  • 2021-10-23
  • 2021-12-15
猜你喜欢
  • 2021-09-29
  • 2021-08-01
  • 2022-02-22
  • 2021-12-27
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案