You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 2b1bec7
Browse filesBrowse the repository at this point in the historyBrowse files
The Publisher return type check for subscriptions was applied whenever
the resolver instance implemented GraphQLSubscriptionResolver, so a
class that is also a query or mutation resolver lost all of its
non-Publisher methods and failed with "No method found". The check and
the missing method note now depend on the root type being scanned,
which RootResolverInfo records.
The checks were also inverted: they accepted supertypes of Publisher
and CompletableFuture rather than subtypes, so Publisher
implementations such as Flux were rejected. Accept Publisher subtypes,
futures of them (Future or CompletionStage, with class, parameterized
or wildcard type arguments) and ReceiveChannel subtypes that have a
wrapper registered for that exact type. Methods erased to Object, such
as suspend functions, are still accepted since their return type can't
be checked here.
Generic wrappers only unwrap their exact type, so subscription return
types are now matched against the schema as a Publisher of their
events. Otherwise a Flux<Item> return, or a covariant override of a
Publisher<Item> method, would map the Item type to the Flux class.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
0 commit comments