当前位置: 首页 > 知识库问答 >
问题:

检测哪个endpoint在Spring Boot中进入了我们的微服务

麹学文
2023-03-14

我修改了传递布尔值的服务,但他们不接受它,我想知道是否有什么方法可以知道它在服务中是通过哪个endpoint输入的?

@PutMapping("/orders/{id}")
ResponseEntity<?> complete(@PathVariable int id ) {

  return OrderService.updateOrder();
}

    
@PutMapping("/orders/{id}/complete")
ResponseEntity<?> complete(@PathVariable int id) {

  return OrderService.updateOrder();
}

共有1个答案

东方淇
2023-03-14

根据我的理解,您希望通知您的服务从哪个endpoint调用特定的函数。

如果只有两个endpoint,则添加一个标志(boolean)。

例如:

@PutMapping("/orders/{id}")
ResponseEntity<?> complete(@PathVariable int id ) {

  return OrderService.updateOrder(true);
}

    
@PutMapping("/orders/{id}/complete")
ResponseEntity<?> complete(@PathVariable int id) {

  return OrderService.updateOrder(false);
}

例如。

@PutMapping("/orders/{id}")
ResponseEntity<?> complete(@PathVariable int id ) {

  return OrderService.updateOrder(this.getClass());
}

    
@PutMapping("/orders/{id}/complete")
ResponseEntity<?> complete(@PathVariable int id) {

  return OrderService.updateOrder(this.getClass());
}

然后在updateOrder(Class clazz)函数中,以如下方式处理它:

if(clazz == FirstController.class)
{
    ...
}
else
if(clazz == SecondController.class)
{
    ...
}

// and so on

不过,有无数种方法可以做到这一点...您可以使用枚举整数字符串等。

 类似资料:
  • 问题内容: 我正在构建一个JS脚本,该脚本有时可以在给定页面上允许用户单击任何单词并将该单词存储在变量中。 我有一个非常丑陋的解决方案,涉及到使用jQuery进行类解析:首先解析整个html,拆分每个空间中的所有内容,然后重新附加包装在中的所有内容,然后添加带有jQ的事件以检测点击这样的类,并使用$(this).innerHTML获得点击的单词。 这在许多方面都是缓慢而丑陋的,我希望有人知道实现这

  • 问题内容: 我需要知道现在正在按下哪个键。我不是要捕获一些特定的键来触发事件或类似的事情, 我想知道现在按下了哪些键并显示它们的列表。 我还需要捕获特殊键,例如F1 … F12,Shift,Alt,Home,Windows等。基本上,键盘上的所有键都是如此。 我该如何在python中做到这一点?如何捕获键盘事件? 编辑 就是这样,您知道我不是要创建键盘记录程序。我正在尝试做一个诊断工具(我在笔记本

  • 我想知道在多个按钮的列表中按下了哪个按钮。例如,如果按下了第二个按钮,则代码会检测到按下第二个向下的按钮,并返回类似于 。但是,我不知道该怎么做。当我搜索时,jQuery参与其中,但我没有使用jQuery。代码如下: 我尝试使用EventListner,通过将EventListner添加到创建的每个按钮,但这并不能区分单个按钮。请注意,每个按钮都有一个id为和一个类。 如果有人能帮忙,谢谢!

  • 带 Suhosin-Patch 的 PHP 5.3.10-1ubuntu3.6,安装在 Ubuntu 12.04 LTS 上。 PHP 是 Web 世界里的百年老龟,它的壳上铭刻着一段丰富、复杂、而粗糙的历史。 在一个共享主机的环境里,它的配置可能会限制你能做的事情。 为了保持清晰地叙述,我们将仅针对一个版本的 PHP 进行讲述。 在 2013 年 4 月 30 日时,该版本为 PHP 5.3.1

  • 问题内容: 我有一个Java应用程序。我想知道发送此信号的进程的pid。 那可能吗? 问题答案: 两种Linux专用方法是和,它们允许程序接收有关已发送信号的 非常 详细的信息,包括发送方的PID。 调用并传递给它,其中包含所需的信号处理程序,并且设置了标志。使用此标志,您的信号处理程序将接收 三个 参数,其中一个是包含发送者的PID和UID的结构。 从中调用和读取结构(通常以某种选择/轮询循环的