我有一个API,我不希望人们能够监视对api的xhr请求所花费的时间,具体取决于帐户是否有效。
问题是,如果他们想获取用户ID,他们可以一遍又一遍地向API发送垃圾邮件,并且会发现真实ID需要更长的时间才能返回响应。每次响应为200,页面对响应不执行任何操作。
是否有一种简单的方法让Java SpringBoot应用程序立即返回200,然后进行处理?
答案 0 :(得分:4)
是的,您可以异步执行此操作。您只需要使用@Controller
来注释@Async
的方法。这将使该方法异步执行,因此不会阻塞连接。代理返回Future
,更多信息可在docs中找到。
答案 1 :(得分:1)
@Async
是最简单的方法。
在您的主类中添加@EnableAsync
注释(即具有@SpringBootApplication
注释的主类)
向要在单独线程中执行的方法中添加@Async。
@Async
的某些限制
答案 2 :(得分:1)
@async在这种情况下会为您提供帮助。仍然可以以一种非常整洁的方式来处理它。
干杯!