Undrar du vad Jersey och REST är? Läs mer här: Jersey och här: REST
Filter kan t.ex. användas för att logga access eller begränsa åtkomsten till sitt REST-API.
Om man vill använda Filter för sina resurser finns inte så mycket komplett information att tillgå, här är en liten guide till hur man använder filter i Jersey.
I exemplet nedan vill vi kolla på ip-adressen som gör anropet till webservicen.
ResourceFilterFactory är fabriken som ser till att resurserna får de filter dom ska ha, detta kan ske på olika sätt t.ex. som i exemplet nedan genom annotations.
“create” metoden är den metod som exekveras när Jersey startar upp och i detta fall tilldelas alla resurser med annoteringen @IpCheck ett filter av typen IpRequestFilter.
ResourceFilter är själva filtret där filtreringen sker, här är ett exempel där man kollar ip-adressen.
“filter” är den metod som exekveras när filtret körs, här läser vi ut ip-adressen från den som anropat vår webservice. Notera att IpRequestFilter är en inre klass i IpFilterFactory därav att man har tillgång till requesten.
Skapa en annotering som används till att märka webservicen.
Sen är det bara att annotera servicarna med vår annotering.
Annoteringen markerat i gult är vår och det betyder att innan medtoden körs exekveras alltid vårt filter.
Registrera filterfabriken i web.xml med en init-param.
Tips slå även av WADL genereringen som är påslagen “by default” i Jersey om du inte vill bjuda på hur ditt API ser ut.