Ja jsem to taky resil (a taky jsem REST zacatecnik) a pochopil jsem ze kdyz mam napr,
http://server/faktury/1 mam tim URL pro fakturu #1 (a na ni udelam CRUD) a kdyz chci hledat, tak jsem to udelal http://server/faktury?dodavatel=1&min-total-qty=20 Taky nejsem REST guru a proto se necham poucit. Tom > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On > Behalf Of Richard Mihalovič > Sent: Saturday, August 16, 2008 8:25 PM > To: [email protected] > Subject: rest - filtrovanie zaznamov podla kriterii > > Zdravim konfereneciu > > Zacinam s REST a zakladne principy som snad pochopil (CRUD -> > POST,GET,PUT,DELETE). Ale neviem presne ako realizovat filtrovanie > zaznamov. > > Napriklad: > mam zoznam uzivatelov ktory maju polozky: age, firstName, lastName, > atd. Ak chcem nacitat vsetky zaznamy tak dam GET request na adr. > 'http://adresa.server/users' vrati mi zoznam vsetkych uzivatelov. Ale ak > by som chcel filtrovat zaznamy podla kriterii napr: > firstName='James' AND lastName!='Bond' OR age>40 > Akym sposobom sa dotazovat k tymto zaznamom ? Napadaju ma nasedovne > sposoby: > > 1) cely dotaz dat do URL: > > http://adresa/users/search/v1,s1,c1,o1: ... :vn,sn,cn,o1/orderby/xyz/... > > n=1..m > vn - variable, napr: 'firstName' > sn - string, napr: 'James' > cn - condition, napr. 'eg' = equals, 'gt' = greater than, ... > on - operator, napr. 'a' = AND, 'o' = OR > > V tomto pripade by sa cely dotaz zapisal do URL a po zavolani GET > request by sa vratil vyfiltrovany obsah. Tento sposob mi pripada asi > najviac RESTful, ale ta url by bola asi dost dlha v niektorych > pripadoch. > > 2) dotaz zakodovat do XML > > <query orderby="..."> > <filter variable="..." string="..." condition="..." operator="..." > /> > <filter variable="..." string="..." condition="..." operator="..." > /> > </query> > > V tomto pripade by sa muselo XML asi poslat cez request POST alebo PUT a > nasledne spracovat, ale metody POST, PUT sluzia na ine ucely a asi to > nie je 'validne' REST riesenie. > > 3) nejak inak :) rad sa necham poucit ... > > > RM
