java - 具有许多长参数的永久 REST Web 服务 URL

标签 java web-services http rest jersey-2.0

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

这里又是限制:

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

目前我想到的是:

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

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

最佳答案

确定你的观点

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

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

  2. 只需作为 JSON 传递 - 以这种方式轻松嵌套参数

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

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

希望这是有道理的?

关于java - 具有许多长参数的永久 REST Web 服务 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20937152/

相关文章:

java - 数据源无法通过 Spring boot 应用程序初始化?

java - 使用 Java 8 安装 Dynamic Code Evolution VM (DCE) 时出错

java - 如何用java创建16位灰度图像

javascript - 如何在 Node.js 中实现类似 stackoverflow 的基于 websocket 的服务?

c# - 在 .net 应用程序中使用 SAP Webservice - 身份验证错误 401

java - 将 xml 文档(作为参数?)传递给 Web 服务

javascript - jQuery 下拉菜单不适用于 HTTPS 而适用于 HTTP

apache - 为什么 http 和 https 协议(protocol)指向不同的目录?

java - 对哈夫曼树感到困惑

node.js - NodeJS HTTP 服务器 - 禁用 HTTP 方法、跟踪跟踪等