Spring Boot ile GraphQL API – 3
Serinin üçüncü yazısıyla beraberiz. Bu yazı önceki yazılara bağlıdır. Eğer okumadıysanız bütünlüğü sağlamak adına önce o yazıları okumanız gerekmektedir.
İlk iki yazıda Query işlemi için yoğunlaşmıştık. Şimdi ise Mutation işlemine değineceğiz.
Öncelikle blogger.graphqls düzenlememiz gerek.
Schema Oluşturma
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
type Blogger{ id: ID! name: String! surname: String! email: String! password: String! } extend type Query { getAllBloggers: [Blogger]! getBlogger(id: ID!): Blogger! } type Mutation { createBlogger(id: ID!, name: String!, surname: String!, email: String, password: String) : Blogger! } |
MutationResolver Oluşturma
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
@Service public class BloggerMutation implements GraphQLMutationResolver { @Autowired private BloggerService service; public Blogger saveBlogger(Long id, String name, String surname, String email, String password) { Blogger blogger = new Blogger(id, name, surname, email, password); service.getBloggerList().add(blogger); return blogger; } } |
Mutation için GraphQLMutationResolver kullanıyoruz. Delete ve update için schema tanımını yapacağım fakat kodunu burada ekstra göstermeyeceğim. Bu iki methodu sizler deneyebilirsiniz. GitHub üzerinden paylaşacağım için oradan da bakabilirsiniz. Yeni schema tanımı aşağıdaki gibi olmalı.
1 2 3 4 5 6 7 8 9 10 11 |
type Mutation { saveBlogger(id: ID!, name: String!, surname: String!, email: String, password: String) : Blogger! deleteBlogger(id: ID!) : Boolean updateBlogger(id: ID!, email: String!) : Blogger! } |
https://github.com/cemdrman/SpringBootWithGraphQL/tree/chapter3
Faydalı olması dileğiyle.