【问题标题】:Java Use URI builder?Java 使用 URI 构建器?
【发布时间】:2016-09-08 10:39:31
【问题描述】:

我有下面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 

我该如何写这个urlurl builder

【问题讨论】:

    标签: java android url uri uribuilder


    【解决方案1】:

    如果您想使用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个参数并设置正确的名称。

    【讨论】:

      【解决方案2】:

      试试这个...

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

      【讨论】:

      • 这就是我所做的...您可以轻松更改该字符串。
      • 这个答案出现在低质量审查队列中,大概是因为您没有提供任何代码解释。如果此代码回答了问题,请考虑在答案中添加一些解释代码的文本。这样一来,您就更有可能获得更多支持,并帮助提问者学习新知识。
      猜你喜欢
      • 2016-11-16
      • 1970-01-01
      • 2013-10-10
      • 2021-12-17
      • 1970-01-01
      • 2021-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多