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,...

また、チェックボックスがたくさんある場合は...おそらく何か間違っているようです。

データを圧縮するには、他にも多くの方法があります。16 進数または base64 表現でエンコードされたビットマップです。または、痛みのビットマップで十分であり、決定論的な長さを持っている場合もあります。

id=1000100000000010000...

16 進数と同じ

id=880fa0...
于 2012-07-15T09:24:43.707 に答える