zoukankan      html  css  js  c++  java
  • 带你理解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,很多框架使用该特性,如健康检查

    
    




  • 相关阅读:
    Hibernate 笔记 之 三 基础优化方面
    Hibernate 笔记 之 二 查询
    Hibernate 笔记 之 一 创建与配置
    hibernate初次配置及测试
    CentOS 7.3 安装MySQL--Java--Tomcat
    Spring AOP:自动注入参数值
    Spring AOP:实现Request信息获取
    IntelliJ IDEA导出项目文档
    IntelliJ IDEA:Shortcut Key
    iText生成PDF
  • 原文地址:https://www.cnblogs.com/yangxiaohui227/p/15255879.html
Copyright © 2011-2022 走看看