code: public static void crud(@NotNull String path, @NotNull CrudHandler crudHandler, @NotNull Set<Role> permittedRoles) {
          path = path.startsWith("/") ? path : "/" + path;
          if (path.startsWith("/:")) {
              throw new IllegalArgumentException("CrudHandler requires a resource base at the beginning of the provided path e.g. '/users/:user-id'");
          }
          if (!path.contains("/:") || path.lastIndexOf("/") > path.lastIndexOf("/:")) {
              throw new IllegalArgumentException("CrudHandler requires a path-parameter at the end of the provided path e.g. '/users/:user-id'");
          }
          String SEPARATOR = "/:";
          String resourceBase = path.substring(0, path.lastIndexOf(SEPARATOR));
          String resourceId = path.substring(path.lastIndexOf(SEPARATOR) + SEPARATOR.length());
          staticInstance().get(prefixPath(path), ctx -> crudHandler.getOne(ctx, ctx.pathParam(resourceId)), permittedRoles);
          staticInstance().get(prefixPath(resourceBase), crudHandler::getAll, permittedRoles);
          staticInstance().post(prefixPath(resourceBase), crudHandler::create, permittedRoles);
          staticInstance().patch(prefixPath(path), ctx -> crudHandler.update(ctx, ctx.pathParam(resourceId)), permittedRoles);
          staticInstance().delete(prefixPath(path), ctx -> crudHandler.delete(ctx, ctx.pathParam(resourceId)), permittedRoles);
      }
docs: Adds a CrudHandler handler to the specified path with the given roles to the instance.
  
  @see CrudHandler