我有一个巨大的项目列表,旁边有复选框,允许用户选择要打印的项目。
当用户选择了一堆项目,然后点击打印时,我发送的GET请求中包含在查询字符串中建立的代码:
/registration_codes.pdf?ids[]=1&ids[]=5&ids[]=18...
问题是,当它变得太长时会抛出一个异常,说查询字符串太长。此外,它该死的丑陋。
显然这是GET的一个问题,但是如果我要遵循'RESTful'规则,POST,甚至是PUT或DELETE都没有意义。
任何人都可以在RESTful时提出更好的方法来处理这个问题,还是应该破坏规则并改为执行POST?
答案 0 :(得分:0)
显而易见的:
ids[]=1,5,18,...
似乎如果你有那么多的复选框......也许你做错了。
还有许多其他压缩数据的方法:以十六进制或base64表示形式编码的位图。甚至疼痛位图可能就足够了并具有确定性长度:
id=1000100000000010000...
与十六进制相同
id=880fa0...