GraphQL сам по себе не зависит от транспорта - у вас может быть служба GraphQL, которая не отображается как конечная точка HTTP - поэтому нет стандартного способа описания конечной точки GraphQL. Тем не менее, ничто не мешает вам использовать существующие стандарты, такие как Swagger / OpenAPI:
openapi: "3.0.0"
info:
version: 1.0.0
title: Example
servers:
- url: http://localhost
paths:
/graphql:
post:
summary: GraphQL endpoint
operationId: graphql
requestBody:
description: GraphQL request
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GraphQLRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GraphQLResponse'
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/GraphQLResponse'
Это дает вам возможность формально описать специфичные для API функции, такие как заголовки, файлы cookie и т. Д. Функции, такие как ограничения на основе запросасложность или глубина, с другой стороны, специфичны для вашей схемы и в идеале должны быть задокументированы как ее часть. К сожалению, GraphQL на самом деле не предоставляет способа сделать это, кроме свойства description
для типов, полей и т. Д. Способ добавления описания для всей схемы в настоящее время находится на рассмотрении .