Spring Boot2.x如何自定义Endpoint

作者:Kancy 时间:2023-03-05 18:04:12 

概述

在使用Spring Boot的时候我们经常使用actuator,健康检查,bus中使用/refresh等。这里记录如何使用注解的方式自定义Endpoint。可用于满足一些服务状态监控,或者优雅停机等。

准备

Spring Boot项目,pom中加入:


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

编写自定义Endpoint


@Configuration
@Endpoint(id = "my-endpoint")
public class MyEndpoint {
 @ReadOperation
 public Map<String, Object> endpoint() {
   Map<String, Object> map = new HashMap<>(16);
   map.put("message", "this is my endpoint");
   return map;
 }
}

1.配置

management.endpoints.web.exposure.include=my-endpoint

2.启动&测试

启动后可以看到日志:

Mapped "{[/actuator/my-endpoint],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)

3.注意

  • @EndPoint中的id不能使用驼峰法,需要以-分割。

  • @Spring Boot会去扫描@EndPoint注解下的@ReadOperation, @WriteOperation, @DeleteOperation注解,分别对应生成Get/Post/Delete的Mapping。注解中有个produces参数,可以指定media type, 如:application/json等。

来源:https://www.cnblogs.com/kancy/p/12358351.html

标签:Spring,Boot,自定义,End,point
0
投稿

猜你喜欢

  • C#把数组中的某个元素取出来放到第一个位置的实现方法

    2021-11-26 00:17:36
  • Java多线程编程之访问共享对象和数据的方法

    2022-10-01 07:05:02
  • Java Character类的详解

    2022-09-20 00:55:01
  • java9版本特性资源自动关闭的语法增强

    2023-10-30 23:35:24
  • Java 批量文件压缩导出并下载到本地示例代码

    2023-04-15 07:29:30
  • Android使用addView动态添加组件的方法

    2023-12-03 03:40:25
  • java高并发之理解进程和线程

    2023-09-16 20:03:17
  • android如何改变editText控件中部分文字的格式

    2023-08-24 18:58:36
  • Flutter实现用视频背景的登录页的示例代码

    2022-01-02 05:45:54
  • Android隐藏顶部状态栏所遇到的问题

    2023-08-02 03:39:26
  • c#委托把方法当成参数(实例讲解)

    2021-07-29 04:38:14
  • Java TCP网络通信协议详细讲解

    2022-09-26 09:04:22
  • C#判断数据类型的简单示例代码

    2023-09-22 22:22:48
  • Java递归基础与递归的宏观语意实例分析

    2021-06-24 09:33:10
  • 读取xml文件中的配置参数实例

    2023-10-16 16:20:41
  • springBoot接入阿里云oss的实现步骤

    2023-05-28 23:09:04
  • Spring boot集成Mybatis的方法教程

    2023-11-25 06:20:41
  • Android带进度条的文件上传示例(使用AsyncTask异步任务)

    2023-06-24 09:43:11
  • Android多媒体之VideoView视频播放器

    2023-11-12 14:38:35
  • Java使用fill()数组填充的实现

    2022-02-06 15:03:33
  • asp之家 软件编程 m.aspxhome.com