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
@Dependent
@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 -
Method Summary
Modifier and TypeMethodDescriptionjakarta.ws.rs.core.ResponsecreateUser(UserResource user, String attrsList, String excludedAttrsList) jakarta.ws.rs.core.ResponsedeleteUser(String id) jakarta.ws.rs.core.ResponsegetUserById(String id, String attrsList, String excludedAttrsList) jakarta.ws.rs.core.ResponsepatchUser(PatchRequest request, String id, String attrsList, String excludedAttrsList) jakarta.ws.rs.core.ResponsesearchUsers(String filter, Integer startIndex, Integer count, String sortBy, String sortOrder, String attrsList, String excludedAttrsList) jakarta.ws.rs.core.ResponsesearchUsersPost(SearchRequest searchRequest) voidsetup()jakarta.ws.rs.core.ResponseupdateUser(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
-
Constructor Details
-
UserWebService
public UserWebService()
-
-
Method Details
-
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 jakarta.ws.rs.core.Response createUser(UserResource user, @QueryParam("attributes") String attrsList, @QueryParam("excludedAttributes") String excludedAttrsList) - Specified by:
createUserin interfaceIUserWebService
-
getUserById
@Path("{id}") @GET @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"}) @HeaderParam("Accept") @DefaultValue("application/scim+json") public jakarta.ws.rs.core.Response getUserById(@PathParam("id") String id, @QueryParam("attributes") String attrsList, @QueryParam("excludedAttributes") String excludedAttrsList) - Specified by:
getUserByIdin 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 jakarta.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:
updateUserin interfaceIUserWebService
-
deleteUser
@Path("{id}") @DELETE @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"}) @HeaderParam("Accept") @DefaultValue("application/scim+json") public jakarta.ws.rs.core.Response deleteUser(@PathParam("id") String id) - Specified by:
deleteUserin interfaceIUserWebService
-
searchUsers
@GET @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"}) @HeaderParam("Accept") @DefaultValue("application/scim+json") public jakarta.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:
searchUsersin 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 jakarta.ws.rs.core.Response searchUsersPost(SearchRequest searchRequest) - Specified by:
searchUsersPostin 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 jakarta.ws.rs.core.Response patchUser(PatchRequest request, @PathParam("id") String id, @QueryParam("attributes") String attrsList, @QueryParam("excludedAttributes") String excludedAttrsList) - Specified by:
patchUserin interfaceIUserWebService
-
setup
@PostConstruct public void setup()
-