我不6,但是很想变6 2024-05-07 14:06 采纳率: 25%
浏览 29

@Endpoint端点暴露问题

环境描述:用docker部署的项目,将配置文件外挂到rancher上配置,启动的时候在启动shell脚本里面有配置对应的配置文件地址
问题描述:
使用美团的dynamic-tp 监控采集用的暴露端点的方式
如下暴露的是这个端口

img


配置暴露端口后,这边是配的所有的,访问/actuator

img


结果是显示有dynamic-tp这个访问的接口id的
但是当我把上面的“*“换成“dynamic-tp”之后,访问/actuator没有对应的接口id

自己探索以及问题猜测
现在我用如下的方式重写@Endpoint,让他加载我的这个id

img


然后重复上面的操作,当设置暴露的端点为“tp”的时候访问/actuator 是可以正常可以访问的。
个人猜测:
是不是外挂的文件对“dynamic-tp“的“-”有什么操作,或者哪里对这个“-”有操作
现在想弄清楚问题出在哪里?

  • 写回答

2条回答 默认 最新

  • DTcode7 优质创作者: 前端开发技术领域 2024-05-15 20:00
    关注

    答案引用自chatgpt生成,望对题主有所帮助/启发;若有帮助,还望采纳!

    端点(Endpoint)是API中的一个关键概念,它表示一个特定的URL,用于访问API提供的服务。在RESTful API中,端点通常对应于资源,例如用户、订单等。通过端点,客户端可以对资源进行增删改查操作。

    端点暴露问题是指在设计API时,如何将内部实现的细节隐藏起来,只向外部提供简单的接口。这样可以降低客户端与服务器之间的耦合度,提高系统的可维护性和可扩展性。

    在Java中,我们可以使用Spring框架来实现端点的暴露。以下是一个简单的示例:

    1. 首先,我们需要创建一个控制器类,用于处理客户端的请求。在这个类中,我们可以定义各种端点以及对应的处理方法。
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    @RequestMapping("/api")
    public class MyController {
    
        @GetMapping("/hello")
        public String sayHello() {
            return "Hello, World!";
        }
    }
    
    1. 在这个例子中,我们定义了一个名为/api/hello的端点,当客户端发送GET请求到这个端点时,服务器会返回"Hello, World!"字符串。

    2. 为了让客户端能够访问这个端点,我们需要将这个控制器类注册到Spring容器中。这可以通过在主配置类上添加@ComponentScan注解来实现。

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.context.annotation.ComponentScan;
    
    @SpringBootApplication
    @ComponentScan(basePackages = {"com.example.myapp"})
    public class MyApp {
    
        public static void main(String[] args) {
            SpringApplication.run(MyApp.class, args);
        }
    }
    
    1. 最后,我们需要启动应用程序,然后客户端就可以通过访问http://localhost:8080/api/hello来调用我们的端点了。

    通过这种方式,我们可以将内部实现的细节隐藏起来,只向外部提供简单的接口。这样客户端就不需要关心具体的实现细节,只需要关注端点的URL和请求方法即可。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月7日