In a Maven-based development, start by adding the GraphQl dependency to your pom.xml file
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-graphql</artifactId>
</dependency>
Create a directory in your resources and create a file with the name schema.graphqls
This file is gonna contain a schema that defines each field of your object and it's type.
To define the schema we'll use a special graphql dsl referred to as SDL.
SDL example:
type Query {
gundamWings: [Gundam]
}
type Gundam {
name: String
type: String
pilot: Pilot
}
type Pilot {
id: String
name: String
Affiliation: String
}
type Mutation{
addGundam(gundam:Gundam):Gundam
}
The last step is to add a Controller
@Controller
public class GundamWingsGraphQlController {
@Autowired
private GundamWingsRepository gundamWingsRepository;
@QueryMapping
public List<Gundam> gundamWingsList(){
return gundamWingsRepository.findAll();
}
@MutationMapping
public Gundam addGundam(@Argument Gundam gundam){
return gundamWingsRepository.save(gundam);
}
}
The first method is for listing the data and the second one is to add an object.
Top comments (0)