Attualmente sto creando una libreria che è un wrapper per un'API online. L'ovvio obiettivo è quello di renderlo facile da usare per gli altri il più possibile. Come tale sto cercando di determinare l'approccio migliore quando si tratta di parametri comuni per l'API.
Nella mia situazione attuale ci sono 3 (chiave del consumatore, segreto del consumatore e gettone di autorizzazione). Sono essenzialmente necessari in ogni chiamata API. La mia domanda è se dovessi rendere questi 3 parametri richiesti per ogni metodo o c'è un modo migliore.
Vedo le mie opzioni attuali come:
-
Posiziona i parametri in ogni chiamata di metodo
public ApiObject callMethod(String consumerKey, String consumerSecret, String token, ...)
Questo sembra ragionevole, ma mi sembra terribilmente ripetitivo.
-
Creare una classe singleton che l'utente deve inizializzare prima di chiamare qualsiasi metodo API. Questo sembra sbagliato e in pratica li limiterebbe ad accedere a un account alla volta tramite l'API (che potrebbe essere ragionevole, non lo so).
-
Falli posizionarli in un file di proprietà nel loro progetto. In questo modo posso caricare le proprietà in quel modo e memorizzarle. Questo mi sembra simile al singleton, ma non dovrebbero chiamare esplicitamente qualcosa per inizializzare questi valori.
C'è un'altra opzione che non vedo, o una pratica più comune in questa situazione che dovrei seguire?