2016-09-08 6 views
1

私は怒鳴るurl持っている:Javaの使用URIビルダー?

http://www.example.com/api/Video/GetListMusicRelated/0/0/null/105358/0/0/10/null/null 

このセクションでは、固定および不変さ:

http://www.example.com/api/Video/GetListMusicRelated/25/60/jim/105358/20/1/5/null/null 

OR:

http://www.example.com/api/Video/GetListMusicRelated/0/0/null/105358,5875,85547/0/0/10/null/null 

http://www.example.com/api/Video/GetListMusicRelated/ 

は、私はこのurl怒鳴るようにパラメータを設定します

私はこれをどのように書くことができますurlurl builder

答えて

1

...これを試してみてください。

public class UrlBuilder { 
    private final String root; 
    private int myParam1; 
    private String myParam2; 

    public UrlBuilder(final String root) { 
     this.root = root; 
    } 

    public UrlBuilder myParam1(int myParam1) { 
     this.myParam1 = myParam1; 
     return this; 
    } 

    public UrlBuilder myParam2(String myParam2) { 
     this.myParam2 = myParam2; 
     return this; 
    } 

    public URL build() throws MalformedURLException { 
     return new URL(
      String.format("%s/%d/%s", root, myParam1, myParam2) 
     ); 
    } 
} 

次に、あなたがあなたのURLを作成することができます次

URL url = new UrlBuilder("http://www.example.com/api/Video/GetListMusicRelated") 
    .myParam1(25) 
    .myParam2("jim") 
    .build(); 

としてNB:これは唯一のアイデアを示しているので、私は偽のパラメータの名前と間違った数のパラメータを使用しました。あなたは6つのパラメータを持ち、適切な名前を設定することになっています。

-1

あなたがbuilder patternを使用してUrlBuilderを作成する場合、それは次のように行うことができる

URL domain = new URL("http://example.com"); 
URL url = new URL(domain + "/abcd/abcd"); 
+0

注意してください:http://www.example.com/api/Video/GetListMusicRelated/0/0/null/105358,5875,85547/0/0/10/null/null –

+0

thats私がやったこと。あなたは簡単にその文字列を変更することができます。 – snehasish

+0

この回答は低品質レビューキューに表示されました。おそらく、コードの説明を一切提供していないからです。このコードが質問に答える場合は、答えにコードを説明するテキストを追加することを検討してください。この方法では、より多くのアップボックスを取得し、質問者が新しい何かを学ぶのを助けます。 – lmo

関連する問題