RolesAllowed in Jersey3
Ref: Jersey ResourceConfig doesn’t auto discover but Application does?
There are two ways to achieve:
Application
withFeature
: this would auto discover
1
2
3
4
5
6
import jakarta.ws.rs.ApplicationPath;
import jakarta.ws.rs.core.Application;
@ApplicationPath("/api")
public class RestApplication extends Application {}
1
2
3
4
5
6
7
8
9
10
11
12
13
import jakarta.ws.rs.core.Feature;
import jakarta.ws.rs.core.FeatureContext;
import jakarta.ws.rs.ext.Provider;
import org.glassfish.jersey.server.filter.RolesAllowedDynamicFeature;
@Provider
public class ClassPathScanWorkAroundFeature implements Feature {
@Override
public boolean configure(FeatureContext featureContext) {
featureContext.register(RolesAllowedDynamicFeature.class);
return true;
}
}
ResourceConfig
won’t auto discover, need to manually assign packages to scan
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import jakarta.ws.rs.ApplicationPath;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.server.filter.RolesAllowedDynamicFeature;
@ApplicationPath("/api")
public class RestApplication extends ResourceConfig {
public RestApplication() {
packages(
"tw.rainbow.edu.personcheckin.manage.filter",
"tw.rainbow.edu.personcheckin.manage.endpoint",
"tw.rainbow.edu.personcheckin.manage.resource");
register(RolesAllowedDynamicFeature.class);
}
}
This post is licensed under CC BY 4.0 by the author.