22

アイテムのコレクションで複数の並べ替えフィールドをサポートする RESTful Web アプリケーションがあります。これらの並べ替えフィールドを URL のクエリ文字列にエンコードするための一般的な規則はありますか? 以下のようなパターンを考えています。

http://myapp.com/books?sort=author:asc,datepublished:desc&count=12 

これにより、書籍のコレクションが著者別に並べ替えられ、次に発行日順に並べ替えられます。

基本的に、クエリ文字列の名前と値のペアが独自の名前と値のペアを持つ便利な方法が必要です。フィルタ パラメータについても、上記の例と同様の処理を行う必要があります。

Rails または ASP.NET MVC には、このパターンがありますか? この問題に対処する方法を確立した他のフレームワークはありますか? 独自のフォーマットを作成するよりも、使い慣れたフォーマットを使用したい.

また、URL のパーセント エンコーディングをできるだけ使用しない形式を希望します。

4

3 に答える 3

17

REST については、より直感的な構文を好みます。

http://myapp.com/books?sort=+author,-datepublished&count=12

さらに詳しく (「+」記号なし):

http://myapp.com/books?sort=author,-datepublished&count=12

覚えやすい...

于 2012-07-26T17:03:59.200 に答える
0

次のような完全に PHP に準拠したバージョンはどうでしょうか。

http://myapp.com/books?sort[0][name]=author&sort[0][dir]=asc&sort[1][name]=datepublished&sort[1][dir]=desc&count=12

少し長くなりますが、非常に便利で、私が言ったように、PHP に準拠しています。ASP.NET は、この形式のサポートも実装している可能性があります。

これにより、 sort の各要素がnameおよびdirプロパティを持つ配列sortが直接作成されます。

于 2009-04-16T10:55:36.567 に答える