IMPORTANT
GraQL is prerelease, experimental, and a demonstration piece. Use at your own risk.
Mutations
GraQL allows you to designate any method within a @GraQLComponent
as a GraphQL mutation.
Example
For the given schema definition:
graphql
type Mutation {
createToDo(input: CreateToDoRequest!): CreateToDoResponse # <2>
}
This method will provide the mutation:
kotlin
@GraQLMutation
fun createToDo(input: CreateToDoRequest): CreateToDoResponse {
return toDoService.createToDo(req)
}
Conventions
GraQL assumes the following sensible defaults:
- Your method name (
createToDo
) is the same as your mutation name. - Your method should require a single input and its name (within your schema) is
input
.
Customization
These defaults can be overridden within the GraQLMutation
annotation:
kotlin
@GraQLMutation(name = "createToDo", input = "notInput")
fun customNamedCreationMethod( input: CreateToDoRequest ): CreateToDoResponse {
// ...implementation
}