Pembangunan backend Java: Panggilan API menggunakan Retrofit

PHPz
Lepaskan: 2023-06-17 09:54:01
asal
1714 orang telah melayarinya

Pembangunan backend Java: menggunakan Retrofit untuk panggilan API

Dengan perkembangan pesat teknologi Internet, API telah menjadi protokol standard untuk komunikasi antara aplikasi dan perkhidmatan dan digunakan secara meluas dalam pelbagai senario , seperti mudah alih pembangunan aplikasi dan laman web. Dalam bidang pembangunan back-end Java, Retrofit kini merupakan rangka kerja yang sangat popular untuk melaksanakan panggilan API. Artikel ini akan memperkenalkan apa itu Retrofit dan cara menggunakan Retrofit untuk membuat panggilan API.

1. Apa itu Retrofit

Retrofit ialah rangka kerja berasaskan Java untuk melaksanakan panggilan API bahagian pelayan Ia menggunakan anotasi untuk menerangkan permintaan HTTP, parameter dan badan tindak balas dan menggunakan antara muka Java untuk Laksanakan panggilan API sebelah pelayan. Ia menggunakan OkHttp sebagai perpustakaan permintaan rangkaian yang mendasari, menyokong kaedah permintaan rangkaian segerak dan tak segerak, dan menyediakan sejumlah besar fungsi tambahan, seperti cuba semula permintaan, caching permintaan, muat naik fail, dsb. Retrofit juga menyokong pelbagai penukar data, seperti Gson, Jackson, Moshi, dsb., yang boleh menukar badan permintaan dan tindak balas ke objek Java dengan mudah.

2. Cara menggunakan Retrofit untuk membuat panggilan API

1 Import dependensi

Untuk menggunakan Retrofit untuk membuat panggilan API, anda perlu menambah kebergantungan yang berkaitan pada projek. . Dalam projek Maven, anda boleh menambah kebergantungan berikut dalam fail pom.xml:

<dependency>
  <groupId>com.squareup.retrofit2</groupId>
  <artifactId>retrofit</artifactId>
  <version>2.9.0</version>
</dependency>
<dependency>
  <groupId>com.squareup.retrofit2</groupId>
  <artifactId>converter-gson</artifactId>
  <version>2.9.0</version>
</dependency>
Salin selepas log masuk

Antaranya, pengubahsuaian ialah kebergantungan rangka kerja Retrofit itu sendiri dan penukar-gson ialah kebergantungan penukar data Gson Retrofit .

2. Cipta antara muka API

Apabila menggunakan Retrofit untuk membuat panggilan API, anda perlu mencipta antara muka API yang sepadan terlebih dahulu. Antara muka menerangkan URL, kaedah permintaan, parameter permintaan, jenis data pulangan dan maklumat lain API pelayan. Sebagai contoh, kod berikut mentakrifkan antara muka asas untuk menghantar permintaan GET ke pelayan dan mengembalikan rentetan:

public interface ApiService {
    @GET("/api/hello")
    Call<String> getHello();
}
Salin selepas log masuk

Dalam antara muka ini, anotasi @GET yang disediakan oleh Retrofit digunakan untuk menerangkan jenis Permintaan HTTP dan URL alamat, gunakan Call untuk menerangkan jenis data yang dikembalikan, di mana T boleh menjadi sebarang jenis Java, seperti rentetan, objek tersuai, dsb.

3. Cipta objek Retrofit

Selepas antara muka ditakrifkan, anda perlu menggunakan Retrofit untuk mencipta contoh perkhidmatan yang sepadan. Apabila mencipta objek Retrofit, anda boleh menentukan URL permintaan, penukar data, perpustakaan permintaan rangkaian dan sifat berkaitan lain. Sebagai contoh, kod berikut mencipta contoh Retrofit dan menentukan URL permintaan, penukar data Gson dan perpustakaan permintaan rangkaian OkHttp:

Retrofit retrofit = new Retrofit.Builder()
    .baseUrl("http://localhost:8080")
    .addConverterFactory(GsonConverterFactory.create())
    .client(new OkHttpClient.Builder().build())
    .build();
Salin selepas log masuk

Antaranya, baseUrl menentukan alamat URL asas pelayan dan addConverterFactory menentukan data penukaran Penukar ialah GsonConverter, dan klien menentukan penggunaan OkHttp sebagai perpustakaan permintaan rangkaian yang mendasari. Konfigurasi lalai OkHttpClient digunakan di sini, tetapi anda juga boleh mengkonfigurasi sendiri parameter yang berkaitan, seperti tamat masa sambungan, tamat masa baca dan tulis, dsb.

4 Cipta contoh API

Retrofit mencipta kelas pelaksanaan antara muka API melalui proksi dinamik, menjadikan panggilan API sangat mudah. Contohnya, kod berikut mencipta tika API dan memanggil kaedah getHello:

ApiService apiService = retrofit.create(ApiService.class);
Call<String> call = apiService.getHello();
Response<String> response = call.execute();
System.out.println(response.body());
Salin selepas log masuk

Dalam kod ini, kelas pelaksanaan ApiService dijana secara dinamik melalui kaedah retrofit.create dan kaedah getHello digunakan untuk mendapatkan Panggil Objek, dan akhirnya panggil kaedah laksana Panggilan untuk melaksanakan permintaan secara serentak. Kaedah pelaksanaan akan mengembalikan objek Respons, yang mengandungi semua maklumat yang dikembalikan oleh pelayan, di mana atribut badan ialah data yang dikembalikan oleh pelayan.

Jika anda ingin melaksanakan permintaan secara tidak segerak, anda boleh menggunakan kaedah enqueue Panggilan. Contohnya:

ApiService apiService = retrofit.create(ApiService.class);
Call<String> call = apiService.getHello();
call.enqueue(new Callback<String>() {
  @Override
  public void onResponse(Call<String> call, Response<String> response) {
    System.out.println(response.body());
  }
  
  @Override
  public void onFailure(Call<String> call, Throwable t) {
    t.printStackTrace();
  }
});
Salin selepas log masuk

Dalam kod ini, kaedah enqueue Panggilan digunakan untuk melaksanakan permintaan secara tidak segerak dan antara muka Panggilan Balik dilaksanakan untuk memproses hasil permintaan. Kaedah onResponse akan dipanggil apabila permintaan berjaya, dan kaedah onFailure akan dipanggil apabila permintaan gagal.

3. Ringkasan

Artikel ini memperkenalkan penggunaan asas Retrofit, termasuk proses mencipta antara muka API, mencipta tika Retrofit, mencipta tika API dan melaksanakan permintaan rangkaian. Retrofit memudahkan panggilan API dengan menggunakan anotasi, menjadikannya sangat mudah untuk bahagian hadapan dan belakang untuk berinteraksi dengan data. Anda perlu memberi perhatian kepada isu keselamatan benang apabila menggunakan Retrofit, kerana Retrofit tidak selamat untuk benang dan memerlukan penyegerakan yang betul dalam persekitaran berbilang benang.

Atas ialah kandungan terperinci Pembangunan backend Java: Panggilan API menggunakan Retrofit. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!