URL-query-string-Konvention für mehrere Art
Ich habe einen RESTful-web-Anwendung unterstützt mehrere Sortierfelder auf eine Auflistung von Elementen. Gibt es eine gemeinsame Konvention für die Codierung dieser Art Felder in der query-string einer URL? Ich überlege mir ein Muster, wie die folgenden:
http://myapp.com/books?sort=author:asc,datepublished:desc&count=12
Dies würde die Art der Sammlung der Bücher, nach Autor und dann nach Datum veröffentlicht.
Im Grunde, ich brauche eine bequeme Möglichkeit für die name-Wert-Paare in meinem query-string name-Wert-Paare besitzen. Ich muss etwas tun, ähnlich dem obigen Beispiel für den filter-Parameter zu.
Nicht Schienen oder ASP.NET MVC ist ein Muster dafür? Gibt es weitere frameworks, die etablierten Wege für den Umgang mit diesem Thema? Ich würde lieber mit einem vertrauten format als roll meine eigenen.
Ich würde auch lieber ein format, das verwendet so wenig URL-Prozent-Codierung, wie möglich.
- Gute Frage-ich fragte mich die gleiche Sache mir.
- Es sieht aus wie Sie machen einen JSON-ähnlichen format, die würde ich vermeiden, weil jemand interpretieren, es als JSON, in welchem Falle der Begriff der Bestellung ist verloren.
- Guter Punkt, Tom. Deshalb bitte ich um feedback!
- Ich habe aktualisiert mein Beispiel-Muster entfernen Sie die Klammern, pro Tom ' s feedback. Sie waren nicht notwendig, sowieso.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich dies getan, bevor mit der standard-SQL-Sortierung syntax. Es gibt zahlreiche Analyse-Funktionen und-Techniken, die es gibt.
wäre codiert
Für den REST, ich bevorzuge eine eher intuitive syntax:
http://myapp.com/books?sort=+author,-datepublished&count=12
Und mehr ausgearbeitet (ohne ' + ' - Zeichen):
http://myapp.com/books?sort=author,-datepublished&count=12
Leicht zu merken...
Was über eine voll PHP-kompatible version wie diese hier:
Etwas länger, aber sehr praktisch und wie ich schon sagte, kompatibel mit PHP. ASP.NET vielleicht Unterstützung für dieses format auch.
Diese erstellt ein array, Art, direkt dort, wo jedes element der Art hat ein Namen und dir Eigenschaft.
Ich würde vermeiden, mit BEKOMMEN, wie die Parameter. Was ist mit diesem:
Die Idee ist, dass, wenn Sie brauchen, um die Suche zu verfeinern für eine Ressource basierend auf einem Kriterium, fügen Sie den Namen der URL, gefolgt von der parameter-Wert. Wenn Sie mehr als einen parameter-Werte, trennen Sie Sie mit einem +.
Dies ist, was StackOverflow verwendet für tagged Fragen:
Ich zugeben, jedoch, dass das hinzufügen der Zählung/12 am Ende sieht ein bisschen seltsam, aber ich kann nicht an nichts denken besser.