Hallo ChriB,
Was interessiert mich als Nutzer, dass deine Funktion, die dafür zuständig ist, "filter" heisst?
So schön es wäre, nach dem Nutzer geht es hier nicht in erster Linie. Schließlich ist der Mensch nicht der einzige Nutzer von URLs/URIs. Nach deiner Ansicht könnte man so vieles zusammenfassen oder ganz streichen. Sicher schaut das besser aus, Eindeutigkeit, Flexibilität und dergleichen würden dabei aber schrecklich vernachlässigt.
http://www.example.org/blog/byauthor/tim - das wäre eine Adresse, der ich als humaner Nutzer deutlich den Vorzug geben würde.
Das klappt bei einem so einfachen Fall, aber was ist mit komplexeren?
color und type könnte man ggf. auch noch rauskürzen, wenn man ihnen feste Positionen zuweist - bei diesem Beispiel vielleicht weniger glücklich, aber in anderen Szenarien mit weniger potentiellen Auswahlmöglichkeiten durchaus.
Die Struktur von Funktionen bzw. Parameter so sehr auf Resourcen zuzuschneiden ist sehr schlecht. Eine einheitlich klare und logische Struktur finde ich unablässig. Andernfalls wäre man ganz schnell wieder beim Ansatz von WSDL.
Und andererseite, Auswahlen mit noch mehr Filterkriterien müssen auch nicht unbedingt unter einer "festen" Adresse per GET erreichbar sein, weil sie langsam hinreichend individuell werden - da ist dann POST manchmal die vernünftigere Wahl.
Ich verstehe was du meinst, ein POST auf eine collection sollte aber dazu dienen eine neue resource anzulegen.
Und dem Nutzer kann ich ja immer noch anbieten, bestimmte Filter-Kombinationen in seinem Profil abzulegen, so dass sie später erneut abgerufen werden können.
Schon aber das ist nicht Sinn der Sache, schließlich soll z.B. auch Software URLs/URIs benutzen können. Und wieder wären wir bei WSDL.
Deine eigentliche Frage ist sicherlich legitim; allerdings sollte vor ihrer Betrachtung doch sichergestellt werden, dass man sich nicht bereits vorher "verrannt" hat. Und selbst wenn nicht für dich persönlich und im Moment, so ist diese Diskussion doch für die Allgemeinheit sicherlich von genügend Interesse, um sie nicht einfach abzuwürgen :-)
Mit der Debatte hatte ich schon gerechnet. Es ist auch gut - es hilft mir mich selbst auch zu hinterfragen. Meinen Standpunkt werde ich aber auch verteidigen keine Frage.
Gruß,
stefan