java - 如果我有一个 URL 字符串,但其中一部分是动态的,我应该将其分成两部分还是可以在中间插入一个变量?

标签 java url

我正在尝试构建一个将在 POST 请求中使用的 URL。完整的 URL 将如下所示:

http://somesite.com/post/member/{AccountNumber}/verify/etc

帐号是动态的。

通过这样的事情可以很容易地做到这一点:

String PATH1 = "http://somesite.com/post/member/"
String PATH2 = "/verify/etc"
String accountNumber;     //set account Number somewhere in the code

public String buildURL(String path1, String path2, String accoundNumber) {
    String url = path1 + accountNumber + path2
    return url;
}

我想知道是否可以通过只有一个路径来更干净地完成此操作。我想从 yml 或属性文件中读取路径,然后动态插入 AccountNumber。可以这样做吗?

所以,我的 buildURL 看起来像这样:

String PATH = http://somesite.com/post/member/{AccountNumber}/verify/etc
String accountNumber;     //set account Number somewhere in the code

public String buildURL(String path, String accoundNumber) {
    String url = path{insert AccountNumber somehow}
    return url;
}

或者我应该坚持把它分成两半(我想太多了?)?谢谢。

编辑:我意识到我可能误用了一些术语。不是 100$ 确定是否应该将其称为“PATH1”、“PATH2”等,因为查看此处后:What is the name of this URL part? 看来我将 URL 的“方案”和“权限”部分包含为 PATH1。

最佳答案

Java 中有两种不同的机制来完成此任务:

java.text.MessageFormat

    String url = MessageFormat.format("http://somesite.com/post/member/{0}/verify/etc","1234567");
    System.out.println(url);

java.util.Formatter:

    Formatter  f = new Formatter(new StringBuilder());
    f.format("http://somesite.com/post/member/%s/verify/etc", "1234546");
    System.out.println(f.toString());

关于java - 如果我有一个 URL 字符串,但其中一部分是动态的,我应该将其分成两部分还是可以在中间插入一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47705782/

相关文章:

Java - JLabel 丢失图像并且新出现在前面

Java ServersSocket 读取后关闭

ios - 获取带有 url 的大型 Facebook 个人资料图片

ios - 如何将 NSUserdefault 的值放入 URL

java - Bitmap.compress - 不工作

java - 如何在 Selenium 中定位具有特定文本的跨度? (使用Java)

java - 使用 maven-wagon-plugin 上传时出现问题

android - Firebase SignedURL 不等于下载 url 存储

javascript - 使用 Django/Django.js 和 WSGIScriptAlias 进行 URL 反向

php - 如何处理 SEO 友好 url 中的#(哈希)字符?