Как преобразовать существующий REST Api в GraphQL API - PullRequest
0 голосов
/ 30 мая 2020

Я новичок в GraphQL, и я пытаюсь преобразовать один из моих существующих REST Api в GraphQL API

Вот операции, доступные сегодня для REST API 1. POST - Создает один / несколько документов ( Массовая операция) отвечает Http 204 2. GET - получает один документ. Отвечает одним do c Http 200 3. PUT - обновляет один / несколько документов (массовая операция) отвечает Http 204

1 Ответ

0 голосов
/ 30 мая 2020

GraphQL имеет два типа запросов: запросы (которые получают материал) и мутации (которые меняют материал).

Для простого начинающего GraphQL я могу порекомендовать Apollo Server. Он содержит одну из лучших документов, которые я когда-либо видел, и предоставляет вам «песочницу», где вы можете тестировать свои запросы.

Следующим шагом является определение схемы, типов и преобразователей GraphQL.

Соответствующей схемой может быть что-то вроде

type Document {
    id: String
    ...
}

type Query {
    documentById(id: String!): Document
}

type Mutation {
    createDocument(document: Document!): Document!
    createDocuments(documents: [Document!]): [Document!]
    updateDocument(document: Document!): Document!
    updateDocuments(documents: Document!): [Document!]
}

schema {
    query: Query
    mutation: Mutation
}

Резолверы - это обработчики ваших запросов, и они могут быть очень специфичными c, но должны быть очень похожи на то, что вы уже сделали. реализовано в REST.

Также имейте в виду, что gql не будет использовать HTTP-статусы для обозначения ошибок, все запросы будут возвращать 200, даже если они не удастся. Gql предоставляет вам объект ошибки в результате, если что-то не удается, поэтому обработка ошибок на потребителях вашего API должна отражать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...