gpt4 book ai didi

angular - Angular 2.0 中的 Http 请求和响应

转载 作者:太空狗 更新时间:2023-10-29 17:32:20 28 4
gpt4 key购买 nike

我遇到了一个问题,我的 web 服务(用 Spring boot 编写)需要 5-6 分钟才能获得 http 响应。我从 Angular 发送了一个 http post 请求,但 chrome 只等待 2 分钟就给了我一个空响应,因为服务器没有响应。但服务器会在 5 分钟后给出响应。那么我该如何实现这种情况,因为我认为我的 http 连接会在 2 分钟后关闭,我想将其延长至 5-6 分钟。供引用我已经使用了 rxjs 超时功能,但它不起作用,默认超时 2 分钟总是有效。谢谢

最佳答案

问题不在于 chrome 您必须使用 Proxying support 其中开发服务器使用 http-proxy-middleware package 并且此包中提供的代理选项来自底层 http-proxy library .其中之一是

proxyTimeout:

timeout (in millis) when the proxy receives no response

默认值为 ~120 秒,如果 backend 未能在规定时间内响应,则会发出新请求。在代理配置文件中使用 "timeout":360000 覆盖默认超时将解决问题。

{
"/api/*": {
"target": {
"host": "localhost",
"protocol": "http:",
"port": 8080
},
"secure": false,
"changeOrigin": true,
"logLevel": "debug",
"timeout":360000

}
}

您还需要使用 @CrossOrigin 为 RESTful Web 服务启用跨源请求 Controller 链接中的注释。@CrossOrigin 用于允许跨源资源共享 (CORS),以便我们在不同服务器上运行的 Angular 应用程序可以从浏览器使用这些 API。

    @CrossOrigin(origins = "http://localhost:4200", maxAge = 3600)
@RestController
@RequestMapping({"/api"})
public class UserController {
......
}

我假设您的 Angular 在 端口 4200 上运行,您可以使用上述配置使用您的 API。

注意:proxy 配置旨在通过 ng serve 运行开发服务器时代理调用。运行 ng build 后,您负责 Web 服务器及其配置

关于angular - Angular 2.0 中的 Http 请求和响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49569764/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com