使用 nestjs 角度通用设置时找不到 api/graphql

Posted

技术标签:

【中文标题】使用 nestjs 角度通用设置时找不到 api/graphql【英文标题】:api/graphql is not found while using nestjs angular universal setup 【发布时间】:2019-11-18 15:15:45 【问题描述】:

我在 nestjs 角度通用设置中找不到 GraphQL 端点。我使用 ng add @nestjs/ng-universal 添加 s-s-r/angularuniversal。 s-s-r 正在使用其他端点 r 也可以使用,但我找不到 GraphQL 端点

// app.module.ts(nestjs)
import  Module  from '@nestjs/common';
import  AngularUniversalModule  from '@nestjs/ng-universal';
import  join  from 'path';

import  GraphQLModule  from '@nestjs/graphql';

import  HelloModule  from './src/hello/hello.module';
@Module(
  imports: [
    HelloModule,
    GraphQLModule.forRoot(
      autoSchemaFile: './server/schema.gql',
    ),

    AngularUniversalModule.forRoot(
      viewsPath: join(process.cwd(), 'dist/browser'),
      bundle: require('../server/main'),
      liveReload: true,
    ),
  ],
  controllers: [],
)
export class ApplicationModule 
// hello.module.ts(nestjs)
import  Module  from '@nestjs/common';
import  HelloResolver  from './hello.resolver';
import  HelloController  from './hello.controller';
@Module(
  imports: [],
  controllers: [HelloController],
  providers: [HelloResolver],
)
export class HelloModule 
// hello.resolver.ts
import  Resolver, Query  from 'type-graphql';

@Resolver()
export class HelloResolver 
  @Query(() => String)
  hello() 
    return 'hello';
  



# schema.gql
# -----------------------------------------------
# !!! THIS FILE WAS GENERATED BY TYPE-GRAPHQL !!!
# !!!   DO NOT MODIFY THIS FILE BY YOURSELF   !!!
# -----------------------------------------------

type Query 
  hello: String!

我认为 api/graphql 应该为 graphql PlayGround 服务,但它重定向到“/”

【问题讨论】:

【参考方案1】:

GraphQLModule 实际上并没有考虑你设置的任何 globalPrefix,所以它的端点就在/graphql 除非你另有说明

【讨论】:

以上是关于使用 nestjs 角度通用设置时找不到 api/graphql的主要内容,如果未能解决你的问题,请参考以下文章

作为 sbt 依赖项添加时找不到 jboss 拦截器 api 1.1

解决eclipse配置Tomcat时找不到server选项(Mac通用)

角度通用未达到 api

在 Android Studio 中使用 Google Places API 时找不到汽车修理店/车库/汽车店

将 Google 地图添加到 Flutter 时找不到 API 密钥

运行 REST API 时找不到 Tomcat 错误 404