On Mon, Aug 18, 2008 at 11:51:15PM +0200, Richard Mihalovič wrote:
> Dik za odpoved, rad si precitam aj tu doplnenu cast, lebo som nejak
> vsetko nepodchytil ... :) v podstate ak som spravne pochopil je len na
> mne ci budem parametre predavat pomocou GET alebo POST.
> 
> Popripade ak by si mohol uviest nejake zdroje: knihy, best patterns
> ktore sa oplati precitat.

Vyplati se IMHO podivat se i po inetu, kde se daji
najit napr. clanky [1], [2].

Pro "vytrvalejsi" zajemce o REST je urcite uzitecna konference na yahoo groups 
[3]

No a protoze jsme na java listu, urcite nesmim vynechat link
na prislusnou specifikaci JSR-311 [4], a referencni implementaci
-- projekt Jersey [5].

~Jakub

[1]http://www.infoq.com/articles/rest-introduction
[2]http://exyus.com/articles/rest-the-short-version/
[3]http://tech.groups.yahoo.com/group/rest-discuss/?v=1&t=search&ch=web&pub=groups&sec=group&slk=2
[4]http://jsr311.dev.java.net/
[5]http://jersey.dev.java.net/


> 
> Zatial co som cital rozne zdroje (hlavne web) tak mam pocit ze REST je
> natolko volny az je z toho miestami anarchia a chaos a kazdy si to
> vysvetluje po svojom :)
> 
> A ked uz som natrafil na cloveka ktory sa REST-u venuje, by som sa
> spytal este na par veci ktore mi nie su uplne jasne:
> 
> 1) referencia namiesto obsahu
> 
> preco sa vo vacsine xml/json suborov uvadza referencia na zdroj na
> miesto obsahu ?
> 
> napr.
> 
> <order ref="http://....";>
>       <item ref="http://server/item/1"/>
>       <item ref="http://server/item/2"/>
>       <item ref="http://server/item/3"/>
> </order>
> 
> a nie uplny obsah napr:
> 
> <order number="abc" id="123">
>       <item>
>               <id>1</id>
>               <catalogNumber>a123</catalogNumber>
>               <price>12,55</price>
>               ...
>       </item>
>       ...
>       <item>
>       </item>
> </order>
> Mi pripada logicke nacitat viac udajov naraz, ako sa potom dotazovat na
> kazdy zaznam po jednom requeste (teda aspon mam pocit ze by to mohlo byt
> rychlejsie :).
> 
> 2) navratove kody operacii
> Tu su znova dve moznosti, bud budem vracat vysledok kazdej operacie ako
> HTTP status code/header (404-Not found, 200-Ok, 201-Created,
> 202-Accepted,...) alebo ako XML subor typu:
> 
> <response code="error">
>       <error>resource not found</error>
> </response>
> 
> alebo dokonca ako kombinaciu HTTP status code a XML
> 
> 3) protokol
> 
> > HTTP je pouze jendim z RESTovych protokolu, ktery se typicky
> > pouziva jako transportni protokol pro jiny RESTovy protokol.
> 
> existuje aj nejaky iny protokol ktory sa realne pouziva ?
> 
> 
> 
> No na dalsie veci sa radsej spytam nabuduce ;)
> 
> RM
> 
> On Mon, 2008-08-18 at 11:07 +0200, Oto Buchta wrote:
> > Tvuj problem je v nekolika omylech, ktera prameni z chyru kolem RESTu:
> > a) REST != CRUD . REST je o definici maleho mnozstvi operaci nad vsemi
> >   zdroji daneho systemu. Jako priklad uvedu HTTP operace HEAD a OPTIONS.
> > b) REST != HTTP . HTTP je pouze jendim z RESTovych protokolu, ktery se 
> > typicky
> >   pouziva jako transportni protokol pro jiny RESTovy protokol.
> > c) URI nereprezentuje presnou datovou podobu zdroje pro READ operace.
> >   URI reprezentuje zdroj jako takovy. Kazda operace muze byt 
> > parametrizovana.
> >   Podstatne je, aby opakovane READ operace na stejny zdroj vracely byt 
> > ruzne,
> >   ale semanticky shodne reprezentace zdroje. Jako priklad opet uvedu onu
> >   HTTP operaci HEAD, ktera vraci pouze "metadata" zdroje. Dalsim prikladem
> >   z HTTP je moznost rict si o preferovany jazyk vysledku.
> > 
> > Co z toho plyne?
> > 
> > Zaved si pro kazdy typ zdroje jejich kolekci, na teto kolekci zaved operaci
> > QUERY (nebo FILTER, jak chces) a tato operace bude mit logicky dva 
> > parametry:
> > 1) URL kolekce
> > 2) vlastni query
> > 
> > Pak uz zalezi ciste na tobe, jaky udelas binding na HTTP. Muzes pouzit query
> > string GETove operace (ta je mimochodem taky dvouparametrova, URL
> > a QUERY_STRING, pricemz druhy parametr je nepovinny) nebo POST a query 
> > posilat
> > v datech. 
> > 
> > Na http://tapikuv.blogspot.com/2008/08/orestoven-dotazy.html to zkusim behem
> > tydne trochu vic rozvest.
> > 
> > On Sat, Aug 16, 2008 at 02:25:03PM +0200, Richard Mihalovič wrote:
> > > 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
> 

-- 
http://blogs.sun.com/japod

Odpovedet emailem