Rumah  >  Artikel  >  Java  >  Cara menggunakan Java untuk membangunkan aplikasi antara muka API berasaskan GraphQL

Cara menggunakan Java untuk membangunkan aplikasi antara muka API berasaskan GraphQL

WBOY
WBOYasal
2023-09-21 09:46:411219semak imbas

Cara menggunakan Java untuk membangunkan aplikasi antara muka API berasaskan GraphQL

Cara menggunakan Java untuk membangunkan aplikasi antara muka API berasaskan GraphQL

GraphQL ialah bahasa pertanyaan dan persekitaran masa jalan untuk pembangunan API. Ia menyediakan cara yang berkuasa dan fleksibel untuk menentukan jenis data dan operasi pertanyaan API. Artikel ini akan memperkenalkan cara menggunakan Java untuk membangunkan aplikasi antara muka API berasaskan GraphQL dan menyediakan contoh kod khusus.

  1. Persediaan Alam Sekitar
    Sebelum anda mula, pastikan anda mempunyai alatan dan perpustakaan berikut dipasang:
  2. Java Development Environment (JDK)
  3. Maven Build Tools
  4. GraphQL Java library anda, yang boleh anda temui dalam pustaka Java QL anda. xml file Tambah kebergantungan berikut:

    <dependency>
     <groupId>com.graphql-java</groupId>
     <artifactId>graphql-java</artifactId>
     <version>15.0</version>
    </dependency>
  5. Rangka kerja Java untuk mengendalikan permintaan HTTP, seperti Spring Boot atau Javalin
  6. Tentukan Skema GraphQL
    Pertama, kita perlu mentakrifkan Skema API GraphQL. Skema mentakrifkan jenis data dalam API dan operasi pertanyaan dan pengubahsuaian yang tersedia. Berikut ialah contoh mudah:

    import graphql.schema.*;
    
    public class GraphQLSchemaBuilder {
     public static GraphQLSchema build() {
         GraphQLObjectType queryType = GraphQLObjectType.newObject()
                 .name("Query")
                 .field(field -> field.name("hello")
                         .type(Scalars.GraphQLString)
                         .argument(argument -> argument.name("name")
                                 .type(Scalars.GraphQLString))
                         .dataFetcher(environment -> {
                             String name = environment.getArgument("name");
                             return "Hello, " + (name != null ? name : "World") + "!";
                         }))
                 .build();
         
         return GraphQLSchema.newSchema()
                 .query(queryType)
                 .build();
     }
    }

    Dalam contoh ini, kami mentakrifkan Jenis Objek bernama "Query" yang mengandungi medan bernama "hello" yang menerima parameter bernama "name" , dan mengembalikan rentetan. Kami juga menentukan dataFetcher untuk mengendalikan logik pertanyaan.

  7. Mengendalikan pertanyaan GraphQL
    Seterusnya, kita perlu memproses pertanyaan GraphQL daripada klien dan mengembalikan hasil yang sepadan. Ini boleh dicapai dengan menggunakan rangka kerja HTTP yang mengendalikan permintaan GraphQL. Berikut ialah contoh menggunakan Spring Boot:

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.web.bind.annotation.*;
    
    import javax.servlet.http.*;
    
    @SpringBootApplication
    @RestController
    public class GraphQLApplication {
     public static void main(String[] args) {
         SpringApplication.run(GraphQLApplication.class, args);
     }
    
     @PostMapping(value = "/graphql", consumes = "application/json", produces = "application/json")
     public String graphql(@RequestBody String query, HttpServletRequest request) {
         ExecutionResult result = new GraphQL(GraphQLSchemaBuilder.build()).execute(query);
         return result.toSpecification();
     }
    }

    Dalam contoh ini, kami menggunakan anotasi Spring Boot @RestController untuk mengendalikan permintaan GraphQL. Kami memetakan permintaan POST ke laluan "/graphql" dan menyediakan kaedah untuk mengendalikan permintaan tersebut. Dalam kaedah pemprosesan, kami mendapat rentetan pertanyaan yang diluluskan oleh klien dan melaksanakan pertanyaan menggunakan perpustakaan Java GraphQL. Akhir sekali, kami menukar hasil pelaksanaan kepada rentetan JSON dan mengembalikannya kepada klien.

  8. Menghantar pertanyaan GraphQL
    Kini, kami boleh menggunakan klien GraphQL untuk menghantar pertanyaan ke antara muka API kami. Berikut ialah contoh menghantar pertanyaan menggunakan cURL:

    $ curl -X POST -H "Content-Type: application/json" -d '{"query":"{hello(name: "GraphQL")}"}' http://localhost:8080/graphql

    Permintaan ini akan menghantar pertanyaan dengan medan pertanyaan "hello" dan menghantar parameter bernama "nama". Pelayan akan mengembalikan respons JSON yang mengandungi hasil pelaksanaan.

Ringkasan
Dengan menggunakan Java dan perpustakaan Java GraphQL, kami boleh membangunkan aplikasi antara muka API berasaskan GraphQL dengan mudah. Dalam artikel ini, kami memperkenalkan cara untuk mentakrifkan Skema GraphQL, mengendalikan pertanyaan GraphQL dan menyediakan contoh kod khusus. Saya harap artikel ini dapat membantu anda memulakan pembangunan GraphQL.

Atas ialah kandungan terperinci Cara menggunakan Java untuk membangunkan aplikasi antara muka API berasaskan GraphQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn