Swift 本地vapor项目的飞行前请求(选项)失败

Swift 本地vapor项目的飞行前请求(选项)失败,swift,vapor,preflight,Swift,Vapor,Preflight,我已经使用Vapor框架创建了一个用Swift编写的基本后端。我正在我的机器上本地运行它,因此可以在http://localhost:8080 对于我正在进行的项目,我也在构建前端,它是使用ReactJS构建的,可以访问http://localhost:3000 使用以下信息在Postman中调用我的后端时,请求工作正常,用户在数据库中创建: 方法 帖子/用户 标题 内容类型:application/json 接受:application/json 身体 { email: "email@

我已经使用Vapor框架创建了一个用Swift编写的基本后端。我正在我的机器上本地运行它,因此可以在
http://localhost:8080

对于我正在进行的项目,我也在构建前端,它是使用ReactJS构建的,可以访问
http://localhost:3000

使用以下信息在Postman中调用我的后端时,请求工作正常,用户在数据库中创建:

方法
帖子/用户

标题
内容类型:application/json 接受:application/json

身体

{
    email: "email@example.com
    password: "12345"
}
现在,当从本地前端用相同的主体和头调用相同的方法时,我的请求立即失败,没有任何响应:

当我检查响应时,我看到所有正文和标题都已正确发送,但没有响应。
我在谷歌上搜索了一下,发现Postman(&similor)的行为与浏览器不同,我应该检查该方法是否适用于
OPTIONS
,而不是
POST
。我再次调用了该方法:
OPTIONS/user
,在《邮递员》中也失败了:

唯一的区别是,在《邮递员》中,我收到了一个回复,正如你在截图中看到的“结果未找到”

我想,这可能与API调用的url中的
localhost
有关,因为前端也在localhost上运行。因此,我使用ngrok转发端口8080(后端),然后调用
*.ngrok.io
url,而不是
localhost:8080
。没有运气。
我还尝试使用计算机的网络IP地址,而不是
localhost
。还是不走运


对此我能做些什么?

如果您按照以下方式配置后端的CORS设置,它应该可以工作:

蒸汽4
让corscoConfiguration=CORSMiddleware.Configuration(
允许来源:。全部,
允许的方法:[.GET、.POST、.PUT、.OPTIONS、.DELETE、.PATCH],
AllowedHeader:[.accept、.authorization、.contentType、.origin、.xRequestedWith、.userAgent、.accessControlAllowOrigin]
)
app.middleware.use(CORSMiddleware(配置:corsConfiguration))

蒸汽3
让corscoConfiguration=CORSMiddleware.Configuration(
允许来源:。全部,
允许的方法:[.GET、.POST、.PUT、.OPTIONS、.DELETE、.PATCH],
AllowedHeader:[.accept、.authorization、.contentType、.origin、.xRequestedWith、.userAgent、.accessControlAllowOrigin]
)
中间件.使用(CORSMiddleware(配置:corsConfiguration))
服务.注册(中间产品)

通常会发出选项飞行前请求,以检查是否允许跨域请求(COR),它们是否在后端启用?@lazzanie请查看我更新的posttry let corsConfiguration=CORSMiddleware.Configuration(allowedOrigin:.all,allowedMethods:.all,AllowedHeader:.all)