【问题标题】:How to calculate time between request and precedent request by rest web service in spring boot?如何在spring boot中通过rest Web服务计算请求和先例请求之间的时间?
【发布时间】:2020-07-10 21:17:10
【问题描述】:

我正在使用 Spring Boot 编写一个 Rest API。 我想计算一个请求和前一个请求之间的时间,如果时间小于 2 分钟,我想返回一个对象 json,跟踪和黑名单请求的元素。 我该怎么做?

【问题讨论】:

  • 在这个问题中添加更多细节——你想跟踪所有请求之间的间隔、基于参数id的请求等
  • 首先我想得到请求和上一个请求之间的时间。
  • 你可以维护一个静态的 Date 变量。存储第一个请求的时间并与下一个请求进行比较。
  • 你能给我更多的细节吗

标签: spring api rest


【解决方案1】:

做这样的事情:

@RestController
@RequestMapping("/test")
public class TestController {

private static long lastRequest = Long.MAX_VALUE;

@RequestMapping("/post")
public String postTest() {

    long currentTime = System.currentTimeMillis();

    if (currentTime - lastRequest < 120000){
        //DO WHAT YOU WANT
    } else {
        lastRequest = currentTime;
    }
}

【讨论】:

  • 是的,我用 LocalDateTime.now() 做了同样的逻辑,非常感谢先生
  • 没问题。如果正确,请接受答案。谢谢。
  • 您知道我们是否要计算每个用户的 currentTime - lastRequest(因为在您的回复中,您正在计算任何请求的两次请求之间的时间)
  • 对于每个用户,您都需要一些东西来识别用户。 REST 架构通常是无状态的。可能是请求传递一个标头参数来识别用户。您可以在 stackoverflow 上创建有关如何在 Rest 请求中识别用户的问题。
猜你喜欢
  • 1970-01-01
  • 2016-11-20
  • 1970-01-01
  • 2014-12-14
  • 1970-01-01
  • 2019-05-30
  • 2019-05-25
  • 2016-05-10
  • 2019-01-07
相关资源
最近更新 更多