Skip to content

Conversation

mattjquinn
Copy link
Contributor

@mattjquinn mattjquinn commented Dec 11, 2023

This will enhance type safety in situations where the schema is built using grapqhl-java and graphql-java-annotations, then provided to a different library (e.g. graphql-spring) for execution.

Currently, oftentimes the runtime implementation of a schema (resolvers, controllers, etc.) can't implement some of the interfaces defining the schema, as the former requires runtime-specific arguments (context, environment, etc.). This means that an interface can change, and the schema will change as a result upon regeneration from the interfaces, but forgetting to change the runtime implementation won't be caught statically at compile-time, leading to eventual runtime errors.

With this change, interfaces can be modified to include those runtime-specific parameters, tagging them with @GraphQLIgnore, so that runtime classes can implement them.

@mattjquinn mattjquinn changed the title Add an @GraphQLIgnore annotation allowing field parameters to be ignored/excluded from a schema Add a @GraphQLIgnore annotation allowing field parameters to be ignored/excluded from a schema Dec 11, 2023
@tdraier tdraier merged commit 74dd8c8 into Enigmatis:master Dec 12, 2023
github-merge-queue bot referenced this pull request in camunda/camunda May 2, 2024
…ns to v21.2 (main) (#18186) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [io.github.graphql-java:graphql-java-annotations](https://togithub.com/graphql-java/graphql-java-annotations) | `21.1` -> `21.2` | [![age](https://developer.mend.io/api/mc/badges/age/maven/io.github.graphql-java:graphql-java-annotations/21.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.github.graphql-java:graphql-java-annotations/21.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.github.graphql-java:graphql-java-annotations/21.1/21.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.github.graphql-java:graphql-java-annotations/21.1/21.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>graphql-java/graphql-java-annotations (io.github.graphql-java:graphql-java-annotations)</summary> ### [`v21.2`](https://togithub.com/Enigmatis/graphql-java-annotations/releases/tag/v21.2) [Compare Source](https://togithub.com/graphql-java/graphql-java-annotations/compare/v21.1...v21.2) #### What's Changed - Upgrade graphql-java version to 21.2 by [@&#8203;geichelberger](https://togithub.com/geichelberger) in [https://github.com/Enigmatis/graphql-java-annotations/pull/297](https://togithub.com/Enigmatis/graphql-java-annotations/pull/297) - Support for inherited interfaces ([#&#8203;65](https://togithub.com/graphql-java/graphql-java-annotations/issues/65)) by [@&#8203;richharms](https://togithub.com/richharms) in [https://github.com/Enigmatis/graphql-java-annotations/pull/298](https://togithub.com/Enigmatis/graphql-java-annotations/pull/298) - Add a `@GraphQLIgnore` annotation allowing field parameters to be ignored/excluded from a schema by [@&#8203;mattjquinn](https://togithub.com/mattjquinn) in [https://github.com/Enigmatis/graphql-java-annotations/pull/299](https://togithub.com/Enigmatis/graphql-java-annotations/pull/299) #### New Contributors - [@&#8203;mattjquinn](https://togithub.com/mattjquinn) made their first contribution in [https://github.com/Enigmatis/graphql-java-annotations/pull/299](https://togithub.com/Enigmatis/graphql-java-annotations/pull/299) **Full Changelog**: Enigmatis/graphql-java-annotations@v21.1...v21.2 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/camunda/zeebe). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMzEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjMzMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJhdXRvbWVyZ2UiXX0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants