2016-05-20 11 views
0

私たちは異なるホストを持つ多くの異なるapiを持っています。私はそれが簡単な(最良の)URLマッピングを行う方法ですか?迅速な設定でurlホストマッピング

私は、マルチマップのような辞書やグアバでホストURLを1対多にマッピングすることができます。このような以下のように

["www.google.com":["/path1","/path2"]] 
["www.bing.com":["/path1","/path2"]] 
Net.get(/path1) 

しかし逆進歩は島嶼地区などではないことができ、ホストの

struct GoogleUrls{ 
    static let URL1 = "/path1" 
    static let URL2 = "/path2" 
} 

struct BingUrls{ 
    static let URL1 = "/path1" 
    static let URL2 = "/path2" 
} 

class GoogleApi{ 
    let host = "www.google.com" 
    func get(path:String){ 
//  Net.get(path,host) 
    } 
} 

class BingApi{ 
    let host = "www.bing.com" 
    func get(path:String){ 
//  Net.get(path,host) 
    } 
} 

class Api1Google:GoogleApi{ 
    func callUrl1(){ 
     super.get(GoogleUrls.URL1) 
    } 
    func callUrl2(){ 
     super.get(GoogleUrls.URL2) 
    } 
} 

class Api1Bing:BingApi{ 

    func callUrl1(){ 
     super.get(BingUrls.URL1) 
    } 
    func callUrl2(){ 
     super.get(BingUrls.URL2) 
    } 
} 

は私が割り当てたくない何私が今使っている一意

ここで手動でホストすると、よりエレガントな方法(属性を使用していますか?)がありますか?

+0

だからあなたは、異なるドメインに同じパスをフェッチしたいですか? – CZ54

+0

@bobbyこれが要件の1つです。私はちょうどパスに従ってapiを呼びたい、ホストは場所に設定することができ、マッピングホストは自動的に見つけることができます – log1000

答えて

0

Objective-Cを使用している場合は、SwiftConfigManagerまたはCSConfigurationManagerをチェックします。私たちのチームメンバーの一人は最近、さまざまな構成にわたって異なるベースURLを持っていたため、迅速な解決策を書いてきました。そして、異なる環境構成を採用してビルドスキームを作成できました。

私たちは過去5年間にわたって、さまざまなビルドスキーム間でコンポーネントを有効/無効にするために、アプリ設定、色、ソートフィルタ、UI設定フラグなど、多くのプロジェクトで成功しただけでなく、URLだけでなくCSConfigurationManagerを使用しました。

https://github.com/marcammann/SwiftConfigManager

https://github.com/marcammann/CSConfigurationManager