因为我发现很难在标题中解释我的问题,所以我将进一步解释一下: 我想/我正在为地理用例编写 JAX-RS Web 服务 (Jersey/Servlet3.0) 和相应的 JS 库。 Web 服务的输入是两个地理点(纬度、经度)列表(源点和目标点),每个点都有一个参数列表。由于基本没有点数限制我不知道如何结合URL长度限制和参数列表的无限性。
这里又是限制:
- 易于共享 URL(所以 POST 可能不会完全削减它?)用于社交媒体共享,当然还易于调试
- 可以看到示例配置here请注意,可以有嵌套的参数集(第 1 点有它自己的参数)
- 需要能够集成到外部网站(带有可 Collection 的 url)
- 并非所有参数都是强制性的,处理默认值/缺失值的最佳方法是什么?
目前我想到的是:
- 创建大量参数
- jsonify配置并通过url参数发送到服务器
但我不太喜欢这些选项。我错过了什么吗? 很抱歉这个相当模糊的问题。 丹尼尔
最佳答案
确定你的观点
为了轻松共享,为什么不只实现一个 tinyURl 或 bit.ly 风格的共享系统 - 显然你不能同时拥有一个易于传入的 url(一个可以轻松向服务器提供详细信息的 URL ) 易于共享(人性化且简短)-但您可以非常轻松地将结果(或每次输入和计算)保存到数据库并将其链接到 tinyURl。
顺便说一句,由于数据量大,POST 将是处理此问题的唯一方法。
只需作为 JSON 传递 - 以这种方式轻松嵌套参数
不太明白这部分 - 对于要使用它的外部站点,他们可以发布数据并返回答案 - 或者使用 'tinyurl/bit.ly 样式系统的第 1 点方法,它可以调用它在 iframe 中?
您将在服务器端处理丢失的参数/默认值 - 为每个参数创建一个函数 - 如果需要参数则抛出错误 - 如果参数有默认值,则将其包含在您的函数中,如果不包含参数则不要运行该函数。
希望这是有道理的?
关于java - 具有许多长参数的永久 REST Web 服务 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20937152/