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 должна отражать это.