algolia / algolia/algoliasearch-client-java

Discussion regarding `HttpTransport` exposed methods

Aperta
#543 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Discussion
Lingua principale
Java
Stelle
52
Fork
33
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

> I think introducing helpers in "HttpTransport" would make the code in callers more straightforward. Let's introduce "HttpTransport.doGet(Async)", "HttpTransport.doPost(Async)", "HttpTransport.doPut(Async)", "HttpTransport.doDelete(Async)" - performing corresponding HTTP operations and setting the call type ~appropriately (eg READ for GET, WRITE otherwise - with the possibility for "doPost" to override it to "READ", or have a doPostForRead or something like that). This would also permit to remove the necessity of giving null data on GET, (doGet wouldn't take a "data" argument). As a second step, it could make sense to make requestAsync private.

Not really sure about this one! We have lots of combination with the endpoints such as. POST/READ/data:null, POST/WRITE/data or GET/READ/data:null. I fear that introducing an helper would reduce the "flexibility" of the transporter. I would prefer to keep it like this. WDYT @Anthony Seure?
Moreover, an overload is available for null data (I forgot to use it in getLogs() :D). So you can perform an executeRequestAsync without passing "null" explicitly as data : Example: POST without data.

cc @Ant-hem @BenoitPerrot

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia leggendo HttpTransport e i suoi overload di executeRequestAsync, quindi esamina i chiamanti come getLogs() e le combinazioni di endpoint descritte nella discussione. Determina se gli helper specifici per operazione preservano la flessibilità esistente di POST/READ, POST/WRITE e GET/READ; il lavoro è completato solo quando la forma dell’API e qualsiasi modifica alla visibilità di requestAsync sono concordate e applicate in modo coerente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
api
Tipo di issue
Refactoring
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.