Skip to content

[HotChocolate] Rework fetching data docs chapter#9692

Merged
michaelstaib merged 7 commits into
mainfrom
mst/docs-review-2
May 13, 2026
Merged

[HotChocolate] Rework fetching data docs chapter#9692
michaelstaib merged 7 commits into
mainfrom
mst/docs-review-2

Conversation

@michaelstaib

Copy link
Copy Markdown
Member

No description provided.

Copilot AI review requested due to automatic review settings May 13, 2026 03:34
@github-actions github-actions Bot added 📚 documentation This issue is about working on our documentation. 🌶️ website labels May 13, 2026
@michaelstaib michaelstaib merged commit 3c26bee into main May 13, 2026
4 checks passed
@michaelstaib michaelstaib deleted the mst/docs-review-2 branch May 13, 2026 03:34

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR restructures the Hot Chocolate v16 documentation to separate resolver fundamentals into a new Resolvers section, reorganize Fetching Data into batching/integrations sub-sections, and refresh multiple chapters and cross-links to match the new IA.

Changes:

  • Added new resolvers/* docs (introduction, DI, errors, field middleware) and updated many pages to link to the new structure.
  • Reworked Fetching Data docs (notably pagination/projections) and introduced fetching-data/batching/* pages for DataLoader + batch resolvers.
  • Updated docs.json and the docs navigation component to support deeper (3-level) navigation trees.

Reviewed changes

Copilot reviewed 56 out of 56 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
website/src/docs/hotchocolate/v16/server/options.md Minor copy/link adjustments in options reference.
website/src/docs/hotchocolate/v16/server/interceptors.md Updated “Next steps” link to DI page under the new resolvers section.
website/src/docs/hotchocolate/v16/server/instrumentation.md Removed version-specific phrasing in ActivityEnricher note.
website/src/docs/hotchocolate/v16/server/index.md Updated DI link + removed version-specific phrasing in overview copy.
website/src/docs/hotchocolate/v16/server/http-transport.md Removed version-specific phrasing about default incremental delivery format.
website/src/docs/hotchocolate/v16/server/global-state.md Updated DI link to new resolvers section.
website/src/docs/hotchocolate/v16/server/files.md Updated wording around UploadValueNode guidance.
website/src/docs/hotchocolate/v16/server/endpoints.md Moved Trusted Documents links to performance section.
website/src/docs/hotchocolate/v16/server/command-line.md Updated CLI wording and removed version-specific phrasing.
website/src/docs/hotchocolate/v16/security/cost-analysis.md Updated “query depth” pointer to “request limits”.
website/src/docs/hotchocolate/v16/resolvers/index.md New resolvers introduction page (resolver tree, args, DI, parent access).
website/src/docs/hotchocolate/v16/resolvers/field-middleware.md New field middleware chapter (delegate/class/attribute middleware).
website/src/docs/hotchocolate/v16/resolvers/errors.md New resolver error handling chapter (exceptions, filters, GraphQLException).
website/src/docs/hotchocolate/v16/resolvers/dependency-injection.md Reworked DI chapter (implicit injection, scoping, keyed services, switching provider).
website/src/docs/hotchocolate/v16/index.md Updated top-level v16 landing page links to new structure.
website/src/docs/hotchocolate/v16/guides/testing.md Updated CookieCrumble reference link.
website/src/docs/hotchocolate/v16/guides/public-api.md Removed version-specific wording about batching defaults.
website/src/docs/hotchocolate/v16/guides/performance.md Updated DataLoader links + removed version-specific phrasing.
website/src/docs/hotchocolate/v16/guides/federation.md Updated DataLoader and Resolvers links.
website/src/docs/hotchocolate/v16/guides/error-handling.md Updated schema basics + DataLoader links.
website/src/docs/hotchocolate/v16/guides/dynamic-schemas.md Updated Extending Types link to new object-types destination.
website/src/docs/hotchocolate/v16/get-started-with-graphql-in-net-core.md Updated DataLoader and EF integration links.
website/src/docs/hotchocolate/v16/fusion/index.md Removed placeholder Fusion page under Hot Chocolate v16.
website/src/docs/hotchocolate/v16/fetching-data/spatial-data.md Updated EF integration link path.
website/src/docs/hotchocolate/v16/fetching-data/sorting.md Removed version-specific phrasing around NullOrdering.
website/src/docs/hotchocolate/v16/fetching-data/resolvers.md Removed old resolvers page (migrated into new resolvers section).
website/src/docs/hotchocolate/v16/fetching-data/projections.md Major rewrite to the QueryContext<T> pattern + updated integration links.
website/src/docs/hotchocolate/v16/fetching-data/pagination.md Major rewrite to Page<T>/PageConnection<T> and relative cursor coverage.
website/src/docs/hotchocolate/v16/fetching-data/integrations/mongodb.md Updated description + fixed “Executable” cross-link target.
website/src/docs/hotchocolate/v16/fetching-data/integrations/marten.md Updated description to remove version-specific wording.
website/src/docs/hotchocolate/v16/fetching-data/integrations/index.md Updated description + corrected “Next steps” integration links.
website/src/docs/hotchocolate/v16/fetching-data/integrations/extending-filtering.md Updated description + removed visitor doc link and adjusted MongoDB link.
website/src/docs/hotchocolate/v16/fetching-data/integrations/entity-framework.md Updated description + moved DI references to new resolvers DI page.
website/src/docs/hotchocolate/v16/fetching-data/index.md Rewritten overview focused on data middleware + new batching/integrations pointers.
website/src/docs/hotchocolate/v16/fetching-data/fetching-from-rest.md Removed old REST fetching page.
website/src/docs/hotchocolate/v16/fetching-data/fetching-from-databases.md Removed old DB fetching page.
website/src/docs/hotchocolate/v16/fetching-data/errors.md Removed old error page (moved to resolvers section).
website/src/docs/hotchocolate/v16/fetching-data/batching/index.md New batching overview placeholder.
website/src/docs/hotchocolate/v16/fetching-data/batching/dataloader.md Updated DataLoader page location/content and removed embedded batch resolver section.
website/src/docs/hotchocolate/v16/fetching-data/batching/batch-resolver.md New batch resolvers page.
website/src/docs/hotchocolate/v16/execution-engine/index.md Removed execution engine overview page.
website/src/docs/hotchocolate/v16/execution-engine/field-middleware.md Removed old execution-engine field middleware page (superseded under resolvers).
website/src/docs/hotchocolate/v16/defining-a-schema/versioning.md Updated Extending Types link target.
website/src/docs/hotchocolate/v16/defining-a-schema/subscriptions.md Removed version-specific phrasing for NATS provider.
website/src/docs/hotchocolate/v16/defining-a-schema/scalars.md Removed version-specific “new/renamed in v16” phrasing in scalar table notes.
website/src/docs/hotchocolate/v16/defining-a-schema/relay.md Updated DataLoader links + removed version-specific phrasing.
website/src/docs/hotchocolate/v16/defining-a-schema/queries.md Updated Resolvers/DataLoader links to new structure.
website/src/docs/hotchocolate/v16/defining-a-schema/object-types.md Updated “Next steps” links to new structure.
website/src/docs/hotchocolate/v16/defining-a-schema/interfaces.md Updated Extending Types link target.
website/src/docs/hotchocolate/v16/defining-a-schema/index.md Updated “Type extensions” destination and moved runtime behavior links to new structure.
website/src/docs/hotchocolate/v16/defining-a-schema/dynamic-schemas.md Updated Extending Types link target.
website/src/docs/hotchocolate/v16/defining-a-schema/documentation.md Major rewrite/expansion of XML doc extraction guidance (generator vs runtime).
website/src/docs/hotchocolate/v16/defining-a-schema/arguments.md Updated Resolvers link to new structure.
website/src/docs/docs.json Reorganized v16 Hot Chocolate nav: new resolvers section + new fetching-data batching/integrations nesting; removed some sections from nav.
website/src/components/articles/doc-article-navigation.tsx Updated navigation data typing and mapping to support nested navigation items.
Comments suppressed due to low confidence (5)

website/src/docs/hotchocolate/v16/fetching-data/batching/dataloader.md:7

  • /docs/hotchocolate/v16/resolvers/resolvers is not a valid doc route (there is no corresponding page under website/src/docs/hotchocolate/v16/resolvers/). This link should point at the resolvers section entry page (likely /docs/hotchocolate/v16/resolvers).

This issue also appears on line 214 of the same file.
website/src/docs/hotchocolate/v16/fetching-data/batching/batch-resolver.md:118

  • This next-steps link points to /docs/hotchocolate/v16/resolvers/resolvers, but there is no such page under website/src/docs/hotchocolate/v16/resolvers/. Please update it to the actual resolvers entry page (likely /docs/hotchocolate/v16/resolvers).
- **Need to understand the N+1 problem?** See [DataLoader](/docs/hotchocolate/v16/fetching-data/batching/dataloader) for key-based batching with caching.
- **Need to understand resolver basics?** See [Resolvers](/docs/hotchocolate/v16/resolvers/resolvers).

website/src/docs/hotchocolate/v16/fetching-data/integrations/entity-framework.md:10

  • This link uses the #default-scope anchor, but the referenced dependency injection page no longer has a Default Scope section (it uses Service Scoping). Update the anchor (and link text if needed) to match the actual heading so the link doesn’t 404.

This issue also appears on line 17 of the same file.
website/src/docs/hotchocolate/v16/fetching-data/integrations/entity-framework.md:17

  • This link uses the #default-scope anchor, but the dependency injection doc no longer defines that anchor (the relevant section is Service Scoping). Update the anchor so it points to the correct section.
    website/src/docs/hotchocolate/v16/fetching-data/batching/dataloader.md:216
  • The Resolvers link points to /docs/hotchocolate/v16/resolvers/resolvers, but there is no corresponding page under website/src/docs/hotchocolate/v16/resolvers/. Update it to the resolvers landing page route (likely /docs/hotchocolate/v16/resolvers).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- **"I want to understand the schema system."** Read [Defining a Schema](/docs/hotchocolate/v16/defining-a-schema). It covers queries, mutations, subscriptions, and all the GraphQL types.

- **"I need to fetch data efficiently."** Go to [DataLoader](/docs/hotchocolate/v16/fetching-data/dataloader) for batching and caching, or [Resolvers](/docs/hotchocolate/v16/fetching-data/resolvers) for the full resolver API.
- **"I need to fetch data efficiently."** Go to [DataLoader](/docs/hotchocolate/v16/fetching-data/batching/dataloader) for batching and caching, or [Resolvers](/docs/hotchocolate/v16/resolvers/resolvers) for the full resolver API.
- **Need real-time updates?** See [Subscriptions](/docs/hotchocolate/v16/defining-a-schema/subscriptions).
- **Need to understand how types map to the schema?** See [Object Types](/docs/hotchocolate/v16/defining-a-schema/object-types).
- **Need to fetch data efficiently?** See [Resolvers](/docs/hotchocolate/v16/fetching-data/resolvers) and [DataLoader](/docs/hotchocolate/v16/fetching-data/dataloader).
- **Need to fetch data efficiently?** See [Resolvers](/docs/hotchocolate/v16/resolvers/resolvers) and [DataLoader](/docs/hotchocolate/v16/fetching-data/batching/dataloader).
- Add field inputs with [Arguments](./arguments) and [Input Object Types](./input-object-types).
- Strengthen the contract with [Lists and Non-Null](./lists).
- Move to runtime behavior with [Resolvers](../fetching-data/resolvers) and [DataLoader](../fetching-data/dataloader) after the schema shape is clear.
- Move to runtime behavior with [Resolvers](../resolvers/resolvers) and [DataLoader](../fetching-data/batching/dataloader) after the schema shape is clear.
- **Need to define query entry points?** See [Queries](/docs/hotchocolate/v16/defining-a-schema/queries).
- **Need to understand resolver patterns?** See [Resolvers](/docs/hotchocolate/v16/fetching-data/resolvers).
- **Need to compose types from multiple classes?** See [Extending Types](/docs/hotchocolate/v16/defining-a-schema/extending-types).
- **Need to understand resolver patterns?** See [Resolvers](/docs/hotchocolate/v16/resolvers/resolvers).
- **Need to understand nullability?** See [Non-Null](/docs/hotchocolate/v16/defining-a-schema/non-null).
- **Need global IDs?** See [Relay](/docs/hotchocolate/v16/defining-a-schema/relay).
- **Need to set up resolvers?** See [Resolvers](/docs/hotchocolate/v16/fetching-data/resolvers).
- **Need to set up resolvers?** See [Resolvers](/docs/hotchocolate/v16/resolvers/resolvers).
Comment on lines +419 to +420
- [Resolvers](/docs/hotchocolate/v16/resolvers/resolvers) for resolver patterns
- [DataLoader](/docs/hotchocolate/v16/fetching-data/batching/dataloader) for batching in reference resolvers

# Next Steps

- Learn more about [resolvers](/docs/hotchocolate/v16/resolvers/resolvers) for field resolution
edges,
pageInfo,
totalCount: _ => ValueTask.FromResult(result.TotalCount));
var db = context.Service<CatalogContext>();
# Snapshot Testing with CookieCrumble

Asserting on individual fields works for small results, but GraphQL responses can be large and nested. Snapshot testing captures the entire response and compares it against a stored baseline. Hot Chocolate uses [CookieCrumble](/docs/hotchocolate/v16/testing) for this.
Asserting on individual fields works for small results, but GraphQL responses can be large and nested. Snapshot testing captures the entire response and compares it against a stored baseline. Hot Chocolate uses [CookieCrumble](/docs/hotchocolate/v16/guides/testing) for this.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📚 documentation This issue is about working on our documentation. 🌶️ website

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants