代码之家  ›  专栏  ›  技术社区  ›  Francesco Borzi

在使用NestJS的选项上找不到获取404

  •  15
  • Francesco Borzi  · 技术社区  · 6 年前

    我是NestJS新手,在我的web应用程序尝试查询的每一条路线上,它都会在选项请求上失败,得到:

    {“statusCode”:404,“error”:“Not Found”,“message”:“Cannot OPTIONS” /验证“}

    然而,尝试直接GET或POST请求可以很好地工作。

    3 回复  |  直到 6 年前
        1
  •  19
  •   Kamil Myśliwiec    6 年前

    经过一些研究,我意识到我只是需要 enable CORS (访问控制允许原点),我可以通过编辑 main.ts 和通过 cors: true NestFactory.create 选项(第二个参数)。

    import { NestFactory } from '@nestjs/core';
    import { AppModule } from './app.module';
    
    async function bootstrap() {
      const app = await NestFactory.create(AppModule, { cors: true });
      await app.listen(3000);
    }
    bootstrap();
    
        2
  •  10
  •   mumblesNZ    6 年前

    有关CORS的一些额外信息,如果您通过以下方式启用它:

    import { NestFactory } from '@nestjs/core';
    import { AppModule } from './app.module';
    
    async function bootstrap() {
      const app = await NestFactory.create(AppModule, { cors: true });
      await app.listen(3000);
    }
    bootstrap();
    

    这将允许来自任何域的跨源请求。这通常不是安全最佳实践。

    如果您希望允许CORS拦截您的飞行前请求,但也只允许来自服务器内部的原始请求,则可以使用以下配置:

    .....
      const app = await NestFactory.create(ApplicationModule, {cors: {
        origin: true,
        preflightContinue: false,
      }});
    .....
    
        3
  •  0
  •   Amiya Panigrahi    3 年前

    还有人在寻找答案吗

    app.enableCors();