1

我有一个巨大的项目列表,旁边有复选框,允许用户选择他们想要打印的项目。

当用户选择了一堆项目并单击打印时,我将发送一个 GET 请求,其中包含在查询字符串中构建的代码:

/registration_codes.pdf?ids[]=1&ids[]=5&ids[]=18...

问题是,当它变得太长时,它会抛出一个异常,说查询字符串太长。另外,它该死的丑陋。

显然这是 GET 的问题,但如果我要遵循“RESTful”规则,那么 POST 甚至 PUT 或 DELETE 在这里都没有意义。

任何人都可以提出一种更好的方法来处理这个问题,同时又是 RESTful,还是我应该打破规则并做一个 POST 来代替?

4

1 回答 1

0

明显的:

  • 将 "ids[]=" 更改为 "i=" - 它已经为您节省了 +- 50% 的空间。
  • 使用不同的编码ids[]=1,5,18,...

此外,如果您有那么多复选框,似乎...也许您做错了什么。

还有许多其他压缩数据的方法:以十六进制或 base64 表示形式编码的位图。甚至疼痛位图可能就足够了并且具有确定的长度:

id=1000100000000010000...

与十六进制相同

id=880fa0...
于 2012-07-15T09:24:43.707 回答