【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】
之前我们已经完成了info、健康、性能指标的修改
现在问题来了,现在做的东西都是在之前人家有的端点上面进行修改,能不能我自己来个端点?
【答案是肯定的】
直接新建一个“端点类”
package com.dingjiaxiong.actuator;
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
import org.springframework.stereotype.Component;
/**
* ClassName: PayEndpoint
* date: 2022/10/24 10:01
*
* @author DingJiaxiong
*/
@Component
@Endpoint(id = "pay",enableByDefault = true)
public class PayEndpoint {
@ReadOperation
public void getPay(){
System.out.println("=============");
System.out.println("=====pay=====");
System.out.println("=============");
}
}
直接重启服务
在postman 中看看能否查到这个端点
OK,很明显, 我们自定义的端点已经进来了
直接调一下
可以看到已经执行了,说明添加成功了,但是前端没有信息返回,
给它加上
package com.dingjiaxiong.actuator;
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
import org.springframework.stereotype.Component;
/**
* ClassName: PayEndpoint
* date: 2022/10/24 10:01
*
* @author DingJiaxiong
*/
@Component
@Endpoint(id = "pay",enableByDefault = true)
public class PayEndpoint {
@ReadOperation
public Object getPay(){
System.out.println("=============");
System.out.println("=====pay=====");
System.out.println("=============");
return "你支付,我快乐";
}
}
再次运行
查看面板
返回json 数据
package com.dingjiaxiong.actuator;
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
/**
* ClassName: PayEndpoint
* date: 2022/10/24 10:01
*
* @author DingJiaxiong
*/
@Component
@Endpoint(id = "pay",enableByDefault = true)
public class PayEndpoint {
@ReadOperation
public Object getPay(){
Map map = new HashMap();
map.put("level 1","300");
map.put("level 2","200");
map.put("level 3", "100");
return map;
}
}
内部会自动转换
OK。重启服务
OK, 自定义端点差不多就是这样了
回顾一下