为 i18n 适配 GraphQL-Strapi slug 自定义解析器

问题描述 投票:0回答:0

我找到了一个非常好的教程来使用 Strapi(用于 slug 参数)创建 GraphQL 自定义解析器。 不幸的是,我无法调整代码以与多语言 (i18n) 兼容。这是我的实际代码:

"use strict";

module.exports = {
  register({ strapi }) {
    const extensionService = strapi.service("plugin::graphql.extension");
    extensionService.use(({ strapi }) => ({
      typeDefs: `
        type Query {
          article(slug: String!, locale: I18NLocaleCode): ArticleEntityResponse
        }
      `,
      resolvers: {
        Query: {
          article: {
            resolve: async (parent, args, context) => {
              const { toEntityResponse } = strapi.service(
                "plugin::graphql.format"
              ).returnTypes;

              const data = await strapi.services["api::article.article"].find({
                filters: { slug: args.slug, locale: args.locale },
              });

              const response = toEntityResponse(data.results[0]);

              console.log("##################", response, "##################");

              return response;
            },
          },
        },
      },
    }));
  },
};

当我发出 GraphQL 请求时,我得到的响应是空的。

graphql request internationalization strapi
© www.soinside.com 2019 - 2024. All rights reserved.