Spring boot spring boot-如何在前端关闭后停止后端rest api处理

Spring boot spring boot-如何在前端关闭后停止后端rest api处理,spring-boot,Spring Boot,我使用SpringBoot创建一个restful后端应用程序,前端使用vue。当有人通过我的前端网页向我的后端应用程序发送rest请求时,是否可以在网页或web浏览器关闭后停止后端处理线程?无法取消HTTP请求。一般的指导原则是,其余的通话时间应该很短。若在这种情况下,您的REST调用是长时间运行的,那个么建议将其分解为细粒度调用 如果这不是一个选项,并且如果要取消后端处理,可以尝试以下选项 对于每个后端调用,返回一个作业id,服务器可以使用该id唯一标识并将其返回给客户端 检测浏览器关闭 根

我使用SpringBoot创建一个restful后端应用程序,前端使用vue。当有人通过我的前端网页向我的后端应用程序发送rest请求时,是否可以在网页或web浏览器关闭后停止后端处理线程?

无法取消HTTP请求。一般的指导原则是,其余的通话时间应该很短。若在这种情况下,您的REST调用是长时间运行的,那个么建议将其分解为细粒度调用

如果这不是一个选项,并且如果要取消后端处理,可以尝试以下选项

  • 对于每个后端调用,返回一个作业id,服务器可以使用该id唯一标识并将其返回给客户端

  • 检测浏览器关闭

  • 根据唯一作业Id公开要取消的新服务
  • 在服务器中处理逻辑

这将需要大量的改变

感谢Chids,我是SpringBoot的新手,我正在使用经典的控制器服务dao结构来实现我的RESTAPI。我不知道当我的控制器从我的前端收到一个请求时Spring内部是如何工作的,我之前猜测的是Spring在收到rest请求时启动一个线程,我可以检测到Spring前端关闭了http连接,然后中止后端线程。您的理解是正确的,但是spring将无法检测到HTTP连接已关闭,因此您需要使用Put/Delete公开一个服务,并优雅地取消请求programmaticallyThanks Chids,我明白了。