Проблема с отправкой сообщения: отрывок не определен в «посте»

Ответ: Я понял это. Продолжение устарело, и API GraphQL получил обновление. Мне пришлось пойти на их API Playground и переписать код.

Я веду блог на Nextjs, используя hygraph.com в качестве серверной части. Я пытался перенести его туда, где при нажатии можно было видеть сообщения, но он внезапно перестал у меня работать. Если вам это нужно, вот весь мой код: https://github.com/DeviousWings/blog-app

Я использую это продолжение программы:https://www.youtube.com/watch?v=HYv55DhgTuA Кажется, моя ошибка находится на отметке 1:46:40.

Если вам нужна дополнительная информация, дайте мне знать, и я внесу «правку» впереди.

Вот сообщение об ошибке:

      Server Error
Error: [line: 1] field 'excerpt' is not defined in 'Post':
 {"response":{"errors":[{"message":
"[line: 1] field 'excerpt' is not defined in 'Post'"}],
"data":null,"extensions":"requestId":"clgir0yw21ztz0blki9cm5z9o"},
"status":400,"headers":{}},"request":

query GetPostDetails($slug : String!) {
    post(where: {slug: $slug}) {

      author{
        name
        bio
        photo {
          url
        }
      }
      createdAt
      slug
      title
      excerpt
      featuredImage {
        url
      }
      categories {
        name
        slug
      }
      content {
        raw
      }
    }
  }
`;
 ",
"variables":{"slug":"space-cockpit"}}}

Вот источник бардака:

      services\index.js (109:17) @ async getPostDetails

  107 | 
  108 | 
> 109 | const result = await request(graphqlAPI, query, { slug });
      |               ^
  110 | 
  111 | return result.post;
  112 | };

Вот весь код, в котором находится исходный код (blog-app\services\index.js):

      import { request, gql } from "graphql-request";

const graphqlAPI = process.env.NEXT_PUBLIC_GRAPHCMS_ENDPOINT;

export const getPosts = async () => {
    const query = gql
    `query MyQuery {
      postsConnection {
        edges {
          node {
            author {
              bio
              name
              id
              photo {
                url
              }
            }
            createdAt
            slug
            title
            exerpt
            featuredImage {
              url
            }
            categories {
              name
              slug
            }
          }
        }
      }
    }
    
    `;

    const result = await request(graphqlAPI, query)

    return result.postsConnection.edges;
};

export const getCategories = async () => {
  const query = gql`
    query GetGategories {
        categories {
          name
          slug
        }
    }
  `;
  const result = await request(graphqlAPI, query);

  return result.categories;
  }
export const getRecentPosts = async () => {
  const query = gql `
  query GetPostDetails() {
    posts(
      orderBy: createdAt_ASC
      last: 3
      ) {
        title
        featuredImage {
          url
        }
        createdAt
        slug
      }
  }
  `

  const result = await request(graphqlAPI, query)

  return result.posts;
};

export const getPostDetails = async (slug) => {
  const query = gql`
  query GetPostDetails($slug : String!) {
    post(where: {slug: $slug}) {

      author{
        name
        bio
        photo {
          url
        }
      }
      createdAt
      slug
      title
      excerpt
      featuredImage {
        url
      }
      categories {
        name
        slug
      }
      content {
        raw
      }
    }
  }
`;

  

  const result = await request(graphqlAPI, query, { slug });

  return result.post;
};

export const getSimilarPosts = async (categories, slug) => {
  const query = gql`
    query GetPostDetails($slug: String!, $categories: [String!]) {
      posts(
        where: {slug_not: $slug, AND: {categories_some: {slug_in: $categories}}}
        last: 3
      ) {
        title
        featuredImage {
          url
        }
        createdAt
        slug
      }
    }
  `;
  const result = await request(graphqlAPI, query, { slug, categories });

  return result.posts;
};

Мои модели:

КомментарийМодель

Пост-модель

Я не умею отлаживать, но мой console.log ничего не обнаружил.

1 ответ

Догадаться. Продолжение устарело, и API GraphQL получил обновление. Мне пришлось пойти на их API Playground и переписать код.

Другие вопросы по тегам