Abbiamo già parlato della possibilità di effettuare query filtrare utilizzando la nuova interfaccia REST di SharePoint 2013. In quel post però, avevo scritto una stupidata.
L'applicazione di filtri multipli non avviene specificando più volte la querystring $filter, ma bensì specificando un'unica volta tale querystring ed inserendo le varie condizioni tra parentesi tonde.
E' solo un errore di sintassi, ma ovviamente questo è l'unico modo di farlo funzionare.
Ecco un esempio:
http://[siteurl]/_api/web/lists?$filter=(BaseTemplate eq 101) and (startswith(Title,'Shared'))
In questo modo le URL si complicano ancor di più è vero, ma avete così la possibilità di fare filtri in "and" o in "or" inserendo tutte le clausole che volete. Vi assicuro che in applicazioni reali, vi servirà sicuramente.
Vi ricordo inoltre che se scrivete codice JavaScript, potete utilizzare la mia libreria per aiutarvi a scrivere queste query:
- http://nuget.org/packages/d4s.sp2013.rest