私は自分の方法の一つに疑問があります。これは私のhttp requests
のために使用しているURI
のコンポジターです。これは、最終的なStrings
の別の静的クラスからデータを取り込み、それらを一緒にマージし、必要に応じてサーバートークンから受け取ったものを含みます。それはすべてのURIs
トークンと唯一の、認証、それなしで起こった。私がやった:私はこのPOST_AUTH_URL
ような、より特殊なケースを持っているかどう方法の多くのif/else条件を避けるには?
private URI urlComposer(String apiUri, String token) {
URI uri = null;
try {
if(apiUri.equals("POST_AUTH_URL")) {
uri = URIUtils.createURI(null, MyConfig.WEB_SERVER, -1, apiUri, null, null);
return uri;
}
String tmp = apiUri.toString();
String[] array = tmp.split("<token>");
tmp = array[0] + auth.getToken() + array[1];
uri = URIUtils.createURI(null, MyConfig.WEB_SERVER, -1, tmp, null, null);
if (MyConfig.DEBUG) Log.d("Dev", "Constructed url " + uri);
return uri;
} catch (URISyntaxException e) {
if (MyConfig.DEBUG) Log.d("Dev", "urlComposer was unable to construct a URL");
e.printStackTrace();
}
return null;
}
は、将来的に見えるようにしようと私はより多くのif/else文を生成するためのアイデアを好きではありません。一方の手はURIを構築するために呼び出される唯一のメソッドを必要とし、もう一方はこれらを望まないものですifs
。何をすればよいでしょうか?後でこのマップにアクセスすることができ
uriMap.put("POST_AUTH_URL", URIUtils.createURI(null, MyConfig.WEB_SERVER, -1, apiUri, null, null));
:あなたはいつものURI、のみ異なるものを設定した場合
URIUtis.createURIへの2回目の呼び出しで、常にURIが上書きされますか? –
修正しました。ありがとうございます。 – Eugene