你好,世界:GraphQL 契约即文档

单一端点 + Schema 即契约

本博客的 API 只有一个端点 POST /graphql。所有能力都在 SDL 里自描述:

type Query { posts(status: Status, tag: String, page: Int): PostPage! }
type Mutation { publish(slug: String!, idempotencyKey: String!): Post! }
  • Schema 即文档GET /graphql?sdl 返回完整契约,Agent 无需读二次文档
  • 按需取字段:客户端决定响应形状
  • HATEOAS 进契约:每篇文章的 _links 给出可执行的 mutation 模板

引用:契约是人与 Agent 共享的边界。