Как я могу искать по слагам с помощью GraphQL? - "Неизвестный аргумент \" слизняк \ "по полю \" статья \ " - PullRequest
2 голосов
/ 11 июля 2020

Я возился на игровой площадке GraphQL, пытаясь создать запрос для получения статьи на основе ее слага. Мой бэкэнд работает на Strapi, и я создал тип «Статья» с текстовым полем с именем «slug». Я мог бы получить к нему доступ по идентификатору (и это, похоже, работает), но я бы предпочел получить доступ к нему с помощью slug, чтобы я мог создавать страницы с удобными для человека URL-адресами.

У меня есть фиктивная статья с идентификатором 9 и slug of «a».

Мой запрос выглядит так:

query Articles {
    article (  slug: "a"  ) {
        title
    }
}

После этого я получаю сообщение об ошибке:

"message": "Unknown argument \"slug\" on field \"article\" of type \"Query\".",

Это сбивает меня с толку, так как документы здесь указывают, что я должен иметь возможность передавать поля в качестве аргументов и выполнять поиск соответственно, но даже если я заменяю slug заголовком или автором, я получаю аналогичную ошибку. Единственное, по чему я могу надежно искать, это ID:

query Articles {
    article (  id: "9"  ) {
        title
    }
}

Это правильно извлекает информацию о целевой статье. Где я здесь ошибаюсь? Я пробовал все виды.

См. Мой запрос / ответ здесь . Большое спасибо за любую помощь.

1 Ответ

0 голосов
/ 11 июля 2020

с find (так называемая форма множественного числа, поскольку в единственном числе используется findOne), вы должны использовать фильтр where:

query Articles {
    article (where: { slug: "a" }) {
        title
    }
}
...