代码之家  ›  专栏  ›  技术社区  ›  GustyWind

有没有一种在Java中缩短URL的方法来方便地存储到数据库中

  •  2
  • GustyWind  · 技术社区  · 14 年前

    我有一个要求,作为附件用户可以从SharePoint添加链接 这样我们就可以保存附件的链接[路径],而不是实际的附件。 为此,我们计划设计一个varchar(512)列。事实上 我们认为这可以有效地适应任何类型的URL,但有时我们发现这太过严格了 用于保存到数据库中。我的观点是

    1. 这是正确的设计吗?
    2. 我们计划使用tinyurl.com,但我们不能保证所有用户都有互联网(目标用户在组织内可以或不能访问互联网)。所以排除了这个选择。
    3. Java是否提供了用于缩短URL的任何API。

    提前谢谢

    2 回复  |  直到 14 年前
        1
  •  4
  •   Grodriguez    14 年前

    通常,在不删除有用信息的情况下,不能缩短URL。TinyURL.com等服务通过维护从“短URL”到“完整URL”映射的数据库来工作。如果您想要缩短URL,您需要在内部实现类似这样的功能,所以无论如何都需要一个单独的表来保存这个映射。你会把问题转移到别的地方去。

    我想您只需要定义一个合适的URL长度限制并相应地定义您的列。

        2
  •  2
  •   chiccodoro    14 年前

    任何API都是应用程序的接口,因此在该API后面必须有一个应用程序,用于保存从缩短的链接到原始链接的映射。为此,需要一个包含两列的表,其中一列的字符数超过512个。

    简而言之,您只需引入另一个复杂的部分来解决当前的数据库模式。为什么不调整现有应用程序的模式以允许超过512个字符?对我来说,如果链接长度超过512个字符,这似乎是最合适的更改。