Package org.eclipse.microprofile.graphql
Annotation Interface NonNull
@Retention(RUNTIME)
@Target({TYPE_USE,METHOD,FIELD,PARAMETER})
@Documented
public @interface NonNull
Specifies that the GraphQL type and/or input type represented by the Java field this annotation is applied to must be
marked as non-null in the schema.
For example, a user might annotate a class' property as such:
Note that all primitive fields/properties are automatically considered non-null unless they are also annotated with a
For example, a user might annotate a class' property as such:
@Type("Starship") @Input("StarshipInput") public class Starship { private String id; @NonNull private String name; private float length; // getters/setters... }Schema generation of this would result in a stanza such as:
type Starship { id: String name: String! length: Float! } input StarshipInput { id: String name: String! length: Float! }
Note that all primitive fields/properties are automatically considered non-null unless they are also annotated with a
DefaultValue
annotation.