Request for Java-friendly support when customizing OkHttp (current implementation in Kotlin causes difficulties)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 30/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Ambito
- developer-experience
Direzione di ricerca
Inizia leggendo l’implementazione Kotlin corrente in openai-java-client-okhttp e l’entry point OpenAIClientImpl.builder. Determina quale approccio di personalizzazione compatibile con Java dovrebbe essere supportato, quindi verifica che i progetti Java possano configurare o iniettare un client OkHttp personalizzato senza dipendenze di build Kotlin.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
📌 Background
Currently, to customize the OkHttp client, the recommended approach is to copy the OkHttpClient implementation from openai-java-client-okhttp and modify it.
However, since the implementation is written in Kotlin, this process is difficult for developers working in pure Java projects.
⚠ Problems
-
Language barrier
- Requires understanding of Kotlin syntax (
apply, null safety, extension functions, etc.). - Converting the code to Java requires additional work.
- Requires understanding of Kotlin syntax (
-
Build environment overhead
- Pure Java projects need to add the Kotlin build plugin to use the copied code.
- This introduces extra build configuration and dependency management burden.
💡 Suggestions
-
Option 1: Provide a Java-friendly abstraction layer
- e.g., an
OpenAIOkHttpClientBuilderthat allows configuring Timeout, Dispatcher, Interceptors, etc.
- e.g., an
-
Option 2: Allow direct injection of an
OkHttpClientinstance via factory methods-
Example:
OpenAIClient client = OpenAIClientImpl.builder() .apiKey("...") .httpClient(customOkHttpClient) // Built via OkHttpClient.Builder .build();
-
-
Option 3: Provide a Java version of the current Kotlin implementation as a sample
- So Java developers can copy and modify it without Kotlin dependencies.
✅ Expected benefits
- Java developers can customize OkHttp without learning Kotlin.
- Significantly lowers the barrier compared to the current “copy-and-modify” approach.
- Improves flexibility for adapting to different network environments.
- Lingua principale
- Kotlin
- Stelle
- 1.5k
- Fork
- 264
- Merge medio
- 13h 31m
- PR unite (30g)
- 89
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di openai/openai-java
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
openai/openai-java#890 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
openai/openai-java#886 · 2 commenti ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
openai/openai-java#802 · 2 commenti · 3 reazioni ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
openai/openai-java#755 · 1 commento ·
-
bug sdk
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
openai/openai-java#652 · 2 commenti ·
Tutte le issue di openai/openai-java
Issue simili
-
Remove custom segment colors Apertaenhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
libre-tube/LibreTube#8803 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Telegram !!! Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
Xposed-Modules-Repo/com.fuck.iab#24 · 3 commenti · 1 reazione ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
SimonHalvdansson/Harmonic-HN#361 ·