我有一个API,我不希望人们能够监视xh请求到api的时间长短取决于帐户是否有效。
问题是,如果他们想要收集用户ID,他们可以一遍又一遍地对API进行垃圾邮件,并且会发现真实ID需要更长时间才能返回响应。每次响应为200,页面对响应没有任何作用。
是否有一种简单的方法让Java Spring Boot应用程序立即返回200然后进行处理?
是的,您可以异步执行此操作。你只需要用@Controller
注释你的@Async
s方法。这将使该方法异步执行,因此不会阻止连接。代理返回Future
,更多信息可以在docs找到。
@Async
是最简单的方式。
在主类中添加@EnableAsync
注释(即带有@SpringBootApplication
注释的主类)
将@Async添加到您想要在单独的线程中执行的方法中。
@Async
的一些限制
虽然@async会在这样的情况下来救你。这仍然可以以一种非常简洁的方式处理。
干杯!