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
  • 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:
      createUser in interface IUserWebService
    • 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:
      getUserById in interface IUserWebService
    • 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:
      updateUser in interface IUserWebService
    • 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:
      deleteUser in interface IUserWebService
    • 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:
      searchUsers in interface IUserWebService
    • 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:
      searchUsersPost in interface IUserWebService
    • 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:
      patchUser in interface IUserWebService
    • setup

      @PostConstruct public void setup()