English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Español | Türkçe | Русский
retrofit HTTP API'leri Java arayuzlerine donusturmeyi destekler. Bu bilesen Retrofit'i Spring Boot ile derinlemesine entegre eder ve Cesitli pratik islevsel iyilestirmeleri destekler.
- Spring Boot 3.x/4.x projeleri icin retrofit-spring-boot-starter 4.x surumunu kullanin
- Spring Boot 4.x varsayilan olarak Jackson 3 kullanir, ancak bu bilesenin varsayilan Converter'i Jackson 2'dir. Bu nedenle Spring Boot 4.x projeleri icin global Converter'i Jackson 3 olarak ayarlamaniz onerilir
- Yapilandirma yontemi:
retrofit.global-converter-factories=com.github.lianjiatech.retrofit.spring.boot.core.jackson3.Jackson3ConverterFactory
- Spring Boot 1.x/2.x projeleri icin retrofit-spring-boot-starter 2.x surumunu kullanin. Spring Boot 1.4.2 ve ust surumleri destekler.
GitHub: https://github.com/LianjiaTech/retrofit-spring-boot-starter Gitee: https://gitee.com/lianjiatech/retrofit-spring-boot-starter
<dependency>
<groupId>com.github.lianjiatech</groupId>
<artifactId>retrofit-spring-boot-starter</artifactId>
<version>4.2.1</version>
</dependency>Cogu Spring Boot projesinde bagimliligi eklemek yeterlidir. Bagimlilik enjeksiyonu sonrasinda bilesen calismazsa, sunlari deneyebilirsiniz:
Bazi durumlarda RetrofitAutoConfiguration dogru bir sekilde Yuklenemeyebilir. Manuel yapilandirma icagrisi icin su kodu kullanin:
@Configuration
@ImportAutoConfiguration({RetrofitAutoConfiguration.class})
public class SpringBootAutoConfigBridge {
}Proje hala Spring XML yapilandirma dosyalarini kullanirsa, Spring Boot otomatik yapilandirma sinifini XML dosyasina ekleyin:
<!-- Spring Boot otomatik yapilandirma sinifini ice aktar -->
<bean class="com.yourpackage.config.SpringBootAutoConfig"/>Arayuzlerde @RetrofitClient ek aciklamasi ile isaretlenmelidir!
@RetrofitClient(baseUrl = "http://localhost:8080/api/user/")
public interface UserService {
/**
* ID ile kullanici adi sorgulama
*/
@POST("getName")
String getName(@Query("id") Long id);
}Not: Yontem istek yollarinda
/ile baslamaya dikkat edin. Retrofit icin,baseUrl = http://localhost:8080/api/test/oldugunda:
- Yontem yolu
personise tam URL:http://localhost:8080/api/test/person.- Yontem yolu
/personise tam URL:http://localhost:8080/person.
Arayuzu diger Service'lere enjekte ederek kullanabilirsiniz!
@Service
public class BusinessService {
@Autowired
private UserService userService;
public void doBusiness() {
// userService yontemlerini cagir
}
}Varsayilan olarak, RetrofitClient arayuzleri Spring Boot bilesen tarama yolu ile otomatik olarak kaydedilir. Alternatif olarak, bir yapilandirma sinifinda @RetrofitScan kullanarak ozel bir tarama yolu belirleyebilirsiniz.
HTTP istek ile ilgili ek aciklamalar Retrofit'in yerel ek aciklamalarini kullanir. Kisa bir ozet asagida sunulmustur:
| Ek Aciklama Kategorisi | Desteklenen Ek Aciklamalar |
|---|---|
| Istek Yontemleri | @GET @HEAD @POST @PUT @DELETE @OPTIONS @HTTP |
| Istek Basliklari | @Header @HeaderMap @Headers |
| Sorgu Parametreleri | @Query @QueryMap @QueryName |
| Yol Parametreleri | @Path |
| Form Parametreleri | @Field @FieldMap @FormUrlEncoded |
| Istek Govdesi | @Body |
| Dosya Yukleme | @Multipart @Part @PartMap |
| URL Parametreleri | @Url |
Detaylar icin resmi belgelere bakin: Retrofit Resmi Belgesi
- HTTP Yanit Sonuclari Otomatik Uyarlama
- Veri Donusturucu
- OkHttpClient ve Call.Factory SPI
- Yontem Duzeyi Zaman Asimi Yapilandirmasi
- Log Kaydi
- Istek Yeniden Deneme
- Kesistiriciler
- Devre Kesici / Dusurme
- Hata Kod Cozucu
- Metrik Izleme (Micrometer)
- Actuator Endpoint
- GraalVM Native Image / AOT Destegi
- Mikro Servisler Arasi HTTP Cagrisi
- RetrofitClient Ek Aciklamasi
- Yapilandirma Ozellikleri
- Diger Ozellik Ornekleri
- Sikca Sorulan Sorular