Skip to content

Latest commit

 

History

History
126 lines (95 loc) · 5.47 KB

File metadata and controls

126 lines (95 loc) · 5.47 KB

retrofit-spring-boot-starter

English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Español | Türkçe | Русский

License Maven Central License License

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

Hizli Baslangic

Bagimlilik Ekleme

<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:

Manuel Otomatik Yapilandirma Icerigi

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"/>

HTTP Java Arayuzu Tanimlama

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 person ise tam URL: http://localhost:8080/api/test/person.
  • Yontem yolu /person ise tam URL: http://localhost:8080/person.

Enjeksiyon ve Kullanim

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 Ek Aciklamalari

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

Ozellik Vurgulari