Я довольно новичок в GraphQL, становлюсь большим фанатом :)
Но что-то мне не понятно.Я использую Prisma с и GraphQL-Yoga с привязками Prisma.
Я не знаю, как передать параметры с моего сервера GraphQL в подвойства.Не знаю, понятно ли это, но я покажу его с кодом, который, надеюсь, будет проще:)
Это мои типы
type User {
id: ID! @unique
name: String!
posts: [Post!]!
}
type Post {
id: ID! @unique
title: String!
content: String!
published: Boolean! @default(value: "false")
author: User!
}
Моя схема.graphql
type Query {
hello: String
posts(searchString: String): [Post]
users(searchString: String, searchPostsTitle: String): [User]
me(id: ID): User
}
и распознаватель моих пользователей:
import { Context } from "../../utils";
export const user = {
hello: () => "world",
users: (parent, args, ctx: Context, info) => {
return ctx.db.query.users(
{
where: {
OR: [
{
name_contains: args.searchString
},
{
posts_some: { title_contains: args.searchPostsTitle }
}
]
}
},
info
);
},
me: (parent, args, ctx: Context, info) => {
console.log("parent", parent);
console.log("args", args);
console.log("info", info);
console.log("end_________________");
return ctx.db.query.user({ where: { id: args.id } }, info);
}
};
и распознаватель моих сообщений
import { Context } from "../../utils";
export const post = {
posts: (parent, args, ctx: Context, info) => {
return ctx.db.query.posts(
{
where: {
OR: [
{
title_contains: args.searchString
},
{
content_contains: args.searchString
}
]
}
},
info
);
}
};
Итак, теперь:)
Я могу сделать следующее, когдаЯ нахожусь на игровой площадке GraphQL на моем сервисе prisma:
{
user(where: {id: "cjhrx5kaplbu50b751a3at99d"}) {
id
name
posts(first: 1, after: "cjhweuosv5nsq0b75yc18wb2v") {
id
title
content
}
}
}
, но я не могу сделать это на сервере, если я что-то делаю ... я получаю сообщение об ошибке:
"error": "Response not successful: Received status code 400"
вот что я пытаюсь:
{
me(id: "cjhrx5kaplbu50b751a3at99d") {
id
name
posts(first:1) {
id
title
content
}
}
}
кто-нибудь знает, как я мог это сделать?