【问题标题】:Permanent REST web service url with many and long parameters具有许多长参数的永久 REST Web 服务 URL
【发布时间】:2014-01-05 18:04:18
【问题描述】:

因为我发现很难在标题中解释我的问题,所以我将进一步解释一下: 我想/我正在为地理用例编写一个 JAX-RS Web 服务(Jersey/Servlet3.0)和相应的 JS 库。 Web 服务的输入是地理点(纬度、经度)的两个列表(源点和目标点),每个点都有一个参数列表。由于点数基本没有限制我不知道如何结合URL长度限制和参数列表的无限性。

这里又是限制:

  1. 易于共享 URL(所以 POST 可能不会完全削减它?)用于社交媒体共享,当然也易于调试
  2. 可以看到一个示例配置here 请注意可以有嵌套的参数集(第 1 点有它自己的参数)
  3. 需要能够集成到外部网站(带有书签的网址)
  4. 并非所有参数都是强制性的,处理默认值/缺失值的最佳方法是什么?

目前我想到的是:

  • 创建大量参数
  • jsonify配置并通过url参数发送到服务器

但我不太喜欢这些选项。我错过了什么吗? 抱歉这个相当模糊的问题。 丹尼尔

【问题讨论】:

    标签: java web-services http rest jersey-2.0


    【解决方案1】:

    好的

    1. 为了方便分享,为什么不只实现 tinyURl 或 bit.ly 样式的分享系统 - 显然,您不能同时拥有一个易于传入的 url(一个便于向服务器提供详细信息的 URL),即易于分享(人性化且简短) - 但您可以非常轻松地将结果(或输入并每次计算)保存到数据库并将其链接到 tinyURl。

      由于数据量大,POST 将是处理此问题的唯一方法。

    2. 只需作为 JSON 传递 - 以这种方式嵌套参数很容易

    3. 不太明白这部分 - 对于使用它的外部站点,他们可以发布数据并返回答案 - 或者使用“tinyurl / bit.ly 样式系统的第 1 点方法,它可以调用它在 iframe 中?

    4. 您将在服务器端处理缺少的参数/默认值 - 为每个参数创建一个函数 - 如果需要参数,则抛出错误 - 如果参数具有默认值,则在函数中包含 this,如果不包含参数,则不要运行该函数。

    希望这有意义吗?

    【讨论】:

      猜你喜欢
      • 2012-05-06
      • 2021-06-04
      • 2013-05-14
      • 2012-02-06
      • 1970-01-01
      • 2013-01-24
      • 1970-01-01
      • 1970-01-01
      • 2011-07-30
      相关资源
      最近更新 更多