@Path("/api")
public class MyWebService {
@GET
@Path("/users")
@RolesAllowed("admin")
public Response getUsers() {
}
}
public class MyApplication extends Application {
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> classes = new HashSet<>();
classes.add(MyWebService.class);
return classes;
}
@Override
public Map<String, Object> getProperties() {
Map<String, Object> properties = new HashMap<>();
properties.put("jersey.config.server.security.scheme", "https");
properties.put("jersey.config.server.security.keyStoreFile", "path/to/keystore");
properties.put("jersey.config.server.security.keyStorePassword", "keystore_password");
properties.put("jersey.config.server.security.keyManagerPassword", "key_manager_password");
return properties;
}
}
@Path("/api")
public class MyWebService {
@POST
@Path("/users")
public Response createUser(@Valid User user) {
}
}
public class User {
@NotNull
@Size(min = 5, max = 20)
private String username;
@NotNull
@Email
private String email;
}