java - JAX-RS: How to extend Application class to scan packages? -
currently, similar
import javax.annotation.nonnull; import javax.ws.rs.applicationpath; import javax.ws.rs.core.application; import java.util.collections; import java.util.hashset; import java.util.set; @applicationpath("oauth") public class oauthapplication extends application { final set<class<?>> classes = new hashset<>(); @nonnull @override public set<class<?>> getclasses() { classes.add(registerresource.class); homecoming collections.unmodifiableset(classes); } }
no if add together 10 new resource
s on applicationpath
, need
classes.add(<classname>.class);
ten times, tedious , forgetful well.
does jax-rs
or resteasy
provide way can mention bundle name , classes scanned under it?
i know jersey
has
public class myapplication extends resourceconfig { public myapplication() { packages("org.foo.rest;org.bar.rest"); } }
reference
any thoughts/ideas?
update
seems can next in web.xml
<context-param> <param-name>resteasy.scan</param-name> <param-value>true</param-value> </context-param>
is there specific java
equivalent?
"is there specific java equivalent?"
simply leave class empty, meaning not override getclasses()
or getsingletons()
. per spec - 2.3.2:
[...]
in either of latter 2 cases, if both application.getclasses
, application.getsingletons
homecoming empty list root resource classes , providers packaged in web application must included in published jax-rs application. if either getclasses
or getsingletons
homecoming non-empty list classes or singletons returned must included in published jax-rs application.
so can do
@applicationpath("oauth") public class oauthapplication extends application {}
and classpath scanned @path
, @provider
classes. override either method (returning non-empty set), , classes added.
it should noted public map<string, object> getproperties()
can safely overridden. can utilize add together arbitrary properties (even register classes/features), seen here, or if need configure provider, can in feature
or dynamicfeature
seen here
java rest jersey jax-rs resteasy
No comments:
Post a Comment