网站搜索

javascript - 如何为 GraphQL 服务器设计以下解析器?

我正在在 Meteor 上使用带有 MySQL 和 Sequelize 的 react-apollo,我在 JS 方面仍然是初学者。假设我在 apollo-server 上有以下解析器函数:

export default resolvers = { Query: { posts(_, args){ return Post.findAndCountAll({ where: args }); }, numberOfPosts(){ return /// t

阅读更多 →

javascript - CORS 阻止 GraphQL Yoga 中的变更

我正在这里使用一个 GraphQL Prisma 后端和一个基于其之上的 GraphQL Yoga Express 服务器。在前端,我正在尝试调用一个 signout mutation,但它被 CORS 策略阻止。尽管我在 GraphQL Yoga 服务器中添加了 CORS 设置,我仍然收到这个错误。GraphQL 查询工作正常,但突变(Mutations)被阻止。我的前端 URL 是 'http://localhost:7777',Yoga 服务器运行在 'http://localhost:4444/'。错误是:

Access to fetch at 'http://localhost:4444/' from origin 'http://lo

阅读更多 →

JavaScript/GraphQL 有条件地添加片段

我有一个 JavaScript 函数,它向一个 GraphQL 端点发送 fetch 请求。我的目标是在 GraphQL 查询中根据传入 JavaScript 函数的参数添加一个片段,例如,我的函数是这样的:

const getEvent = async (id, lang) => { const data = await fetchAPI(` fragment EventFields on Event { title slug date } fragment BnField

阅读更多 →

typescript - TypeGraphQL 使用 TypeORM 的 findAndCount 方法

我想使用 TypeORM 的 findAndCount 函数,该函数返回 Promise<[Entity[], number]> 用于分页。因此我有一个解析器:

offers(@Arg('page', { defaultValue: 1 }) page: number): Promise<[Offer[], number]> { const COUNT = 10 return this.offerRepository.findAndCount({ take: COUNT, skip: (page - 1) * COUNT }

阅读更多 →

typescript - Angular、GraphQL 和 Apollo - 使用 GraphQL 订阅提交表单数据

我正在开发一个使用 GraphQL 和 Apollo 的 Angular 应用,它显示来自我的本地 GraphQL API 的数据。

此外,我正在制作一个表单,让用户可以向 API 发布新数据,但我不确定我在这里使用的方法是否正确。

目前我收到这个错误:

ERROR TypeError: Converting circular structure to JSON

现在,让我向你展示相关的代码。

form.component.html

这是访问 onSubmit 函数的 HTML 表单。

<button type="submit" (click)="onSubmit()" [disabled]="!personForm.valid" id="buttonSubmit" mat-raised-button color="accent"class="floated">Send</button>

阅读更多 →

angular - 如何将参数从 UI 传递到 GraphQL 以获取数据

我有一个 GraphQL URL,可以从后端获取数据。然而,目前的问题是我正在提供客户的硬编码 ID 来获取数据。我想创建一个输入框,然后允许用户通过输入客户 ID 来获取任何客户记录。当前用于获取客户记录的硬编码代码:

ngOnInit() { this.apollo .watchQuery({ query: gql` { findCustomer(id: "UF2aLa1L687") { id customerType } } `, }) .valueChanges.subscribe(result => { this.customer = result.data ; this.loading = result.loading; this.error = result.errors; console.log('Customer Info', this.customer); console.log('Loading', this.loading)

阅读更多 →

node.js - 在与 type-graphql 一起使用时,TypeORM CLI 没有生成迁移

我想将 TypeORM 与 TypeGraphQL 一起使用。

TypeGraphQL 甚至有一个针对这种情况的示例。

但是当我那样使用它并尝试从中生成迁移(使用 TypeORM CLI 并运行 migration:generate)时,什么也没有发生。

日志中没有错误,没有其他日志,什么都没有。

这是我正在运行的命令:

GitHub上的问题:https://github.com/typeorm/typeorm/issues/4361

阅读更多 →

typescript - graphql codegen 能否自动为 hooks 的结果数据字段生成类型?

我正在使用 graphql codegen hooks,其结果类型为:ApolloReactCommon.QueryResult,意味着它是一个包含 data、loading 和 error 字段的对象。

通常情况下,我会在其他组件中使用 data,在这些地方我需要定义它的类型。我目前需要写类似这样的内容来获得 data 类型:

type MyPost = MyPostQueryHookResult['data']

我本来希望能够为我创建这个 MyPost 类型。有没有办法让它自动生成?

我的配置:

generates: src/generated/graphql.tsx: plugins: - "typescript" - "typescript-ope

阅读更多 →

javascript - React,Graphql 模式类型声明

我在 React 和 Apollo 中使用 graphql:generate 根据 graphql 架构创建类型。

我也在使用 react-apollo-hooks 的 useQuery 来输出数据。

一切似乎都在正常运行,我可以看到输出的数据

我的问题是我看不出如何声明生成的类型,从而在 VC 代码中获得 IntelliSense。

查询

import { gql } from 'apollo-boost'; export const GET_ALL_RECIPES = gql` query RecipesData{ recipe{ _id name

阅读更多 →

node.js - 在前端和 nodejs graphql 之间共享类型的推荐方式

我已经开始在 Node.js 上使用 TypeScript 和 GraphQL。但让我感到惊讶的一件事是使用来自 apollo-server-express 的 gql。有没有一种方法可以在其他地方使用 GraphQL 模式中使用的类型。

import { gql } from 'apollo-server-express'; export const userSchema = gql` type User { id: String! name: String } type Query { getUsers: [User] } `;

现在我不想为 User 创建一个单独的接口。我希望有一个如下所示的接口可以随时使用:

export const usersResolver = { Query: { getUsers: () => db.get(con

阅读更多 →