[ruby-it] search contoller o search action?

Luca Mearelli luca.mearelli a gmail.com
Mer 5 Nov 2008 11:58:06 CET


2008/11/5 Claudio Petasecca Donati <cpetasecca a gmail.com>

> Se consideri controller REST, una ricerca gia' per la sua natura (a meno
> di non essere particolarmente semplice) non si immerge agevolmente nello
> schema REST della risorsa "da cercare", per cui la ricerca dovrebbe
> essere considerata essa stessa una nuova risorsa (talora anche piu' di
> una sola risorsa).
>

mi pare invece che la ricerca si adatti bene alla "visione" REST :)

Nel caso di ricerca degli elementi di un singolo modello (e.g. Person) i
risultati della ricerca non sono altro che un sottoinsieme delle risorse,
ovvero una lista filtrata con dei parametri. In un controller RESTful la
ricerca sarebbe semplicemente la action index a cui possono essere passati
dei parametri (e.g. GET /people?name=Tizio ritorna una lista di risorse del
modello Person che hanno come nome 'Tizio').

Il caso di ricerche su vari modelli i cui risultati devono essere visti
assieme, puo' costituire un'eccezione in cui e' utile separare la funzione
di ricerca in un diverso controller, ma sono casi limitati e molto spesso se
si vuol rimanere nel "modello REST" e ci si trova a dover fare delle
operazioni su risorse eterogenee (e.g. ricerca su persone e aziende) e'
utile domandarsi se non "manca" una risorsa. La "risorsa mancante" potrebbe
essere ad esempio un generico "risultato della ricerca" (N.B. risorsa !=
modello).

ciao,
Luca


More information about the Ml mailing list