Java 使用 URI 生成器?

Java Use URI builder?

我有波纹管 url :

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

此部分是固定且不可更改的:

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

我将参数设置为此 url,如下所示:

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

或:

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

我怎样才能为这个url写一个url builder

试试这个...

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

如果您想使用 builder pattern 创建一个 UrlBuilder,可以这样做:

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();

注意: 这只是展示了想法,所以我使用了假的参数名称和不正确的参数数量,请注意你应该有 6 个参数并设置正确的名称.