Package io.jans.scim.ws.rs.scim2
Class UserWebService
- java.lang.Object
-
- io.jans.scim.ws.rs.scim2.BaseScimWebService
-
- io.jans.scim.ws.rs.scim2.UserWebService
-
- All Implemented Interfaces:
IUserWebService
@Named @Path("/v2/Users") public class UserWebService extends BaseScimWebService implements IUserWebService
Implementation of /Users endpoint. Methods here are intercepted. Filter io.jans.scim.service.filter.AuthorizationProcessingFilter secures invocations
-
-
Field Summary
-
Fields inherited from class io.jans.scim.ws.rs.scim2.BaseScimWebService
SEARCH_SUFFIX
-
-
Constructor Summary
Constructors Constructor Description UserWebService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description javax.ws.rs.core.Response
createUser(UserResource user, String attrsList, String excludedAttrsList)
javax.ws.rs.core.Response
deleteUser(String id)
javax.ws.rs.core.Response
getUserById(String id, String attrsList, String excludedAttrsList)
javax.ws.rs.core.Response
patchUser(PatchRequest request, String id, String attrsList, String excludedAttrsList)
javax.ws.rs.core.Response
searchUsers(String filter, Integer startIndex, Integer count, String sortBy, String sortOrder, String attrsList, String excludedAttrsList)
javax.ws.rs.core.Response
searchUsersPost(SearchRequest searchRequest)
void
setup()
javax.ws.rs.core.Response
updateUser(UserResource user, String id, String attrsList, String excludedAttrsList)
This implementation differs from spec in the following aspects: - Passing a null value for an attribute, does not modify the attribute in the destination, however passing an empty array for a multivalued attribute does clear the attribute.-
Methods inherited from class io.jans.scim.ws.rs.scim2.BaseScimWebService
assignMetaInformation, executeValidation, executeValidation, getEndpointUrl, getErrorResponse, getErrorResponse, getErrorResponse, init, inspectPatchRequest, notFoundResponse, prepareSearchRequest, validateExistenceOfUser
-
-
-
-
Method Detail
-
createUser
@POST @Consumes({"application/scim+json","application/json"}) @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"}) @HeaderParam("Accept") @DefaultValue("application/scim+json") public javax.ws.rs.core.Response createUser(UserResource user, @QueryParam("attributes") String attrsList, @QueryParam("excludedAttributes") String excludedAttrsList)
- Specified by:
createUser
in interfaceIUserWebService
-
getUserById
@Path("{id}") @GET @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"}) @HeaderParam("Accept") @DefaultValue("application/scim+json") public javax.ws.rs.core.Response getUserById(@PathParam("id") String id, @QueryParam("attributes") String attrsList, @QueryParam("excludedAttributes") String excludedAttrsList)
- Specified by:
getUserById
in interfaceIUserWebService
-
updateUser
@Path("{id}") @PUT @Consumes({"application/scim+json","application/json"}) @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"}) @HeaderParam("Accept") @DefaultValue("application/scim+json") public javax.ws.rs.core.Response updateUser(UserResource user, @PathParam("id") String id, @QueryParam("attributes") String attrsList, @QueryParam("excludedAttributes") String excludedAttrsList)
This implementation differs from spec in the following aspects: - Passing a null value for an attribute, does not modify the attribute in the destination, however passing an empty array for a multivalued attribute does clear the attribute. Thus, to clear single-valued attribute, PATCH operation should be used- Specified by:
updateUser
in interfaceIUserWebService
-
deleteUser
@Path("{id}") @DELETE @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"}) @HeaderParam("Accept") @DefaultValue("application/scim+json") public javax.ws.rs.core.Response deleteUser(@PathParam("id") String id)
- Specified by:
deleteUser
in interfaceIUserWebService
-
searchUsers
@GET @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"}) @HeaderParam("Accept") @DefaultValue("application/scim+json") public javax.ws.rs.core.Response searchUsers(@QueryParam("filter") String filter, @QueryParam("startIndex") Integer startIndex, @QueryParam("count") Integer count, @QueryParam("sortBy") String sortBy, @QueryParam("sortOrder") String sortOrder, @QueryParam("attributes") String attrsList, @QueryParam("excludedAttributes") String excludedAttrsList)
- Specified by:
searchUsers
in interfaceIUserWebService
-
searchUsersPost
@Path(".search") @POST @Consumes({"application/scim+json","application/json"}) @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"}) @HeaderParam("Accept") @DefaultValue("application/scim+json") public javax.ws.rs.core.Response searchUsersPost(SearchRequest searchRequest)
- Specified by:
searchUsersPost
in interfaceIUserWebService
-
patchUser
@Path("{id}") @Consumes({"application/scim+json","application/json"}) @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"}) @HeaderParam("Accept") @DefaultValue("application/scim+json") public javax.ws.rs.core.Response patchUser(PatchRequest request, @PathParam("id") String id, @QueryParam("attributes") String attrsList, @QueryParam("excludedAttributes") String excludedAttrsList)
- Specified by:
patchUser
in interfaceIUserWebService
-
setup
@PostConstruct public void setup()
-
-