API de Role

Visión General

La API de Role es para gestionar roles de Fess. Puede operar creación, actualización y eliminación de roles.

URL Base

/api/admin/role

Lista de Endpoints

Método Ruta Descripción
GET /settings Obtener lista de roles
GET /setting/{id} Obtener rol
POST /setting Crear rol
PUT /setting Actualizar rol
DELETE /setting/{id} Eliminar rol

Obtener Lista de Roles

Solicitud

GET /api/admin/role/settings

Parámetros

Parámetro Tipo Requerido Descripción
size Integer No Número de elementos por página (predeterminado: 25. Configurable mediante paging.page.size en fess_config.properties)
page Integer No Número de página (comienza en 1, predeterminado: 1. Los valores de 0 o menos se tratan como 1)
id String No Filtra por coincidencia exacta con el ID de rol especificado

Respuesta

{
  "response": {
    "status": 0,
    "settings": [
      {
        "id": "role_id_1",
        "name": "admin",
        "version_no": 1
      },
      {
        "id": "role_id_2",
        "name": "user",
        "version_no": 1
      }
    ],
    "total": 5
  }
}

Obtener Rol

Solicitud

GET /api/admin/role/setting/{id}

Respuesta

{
  "response": {
    "status": 0,
    "setting": {
      "id": "role_id_1",
      "name": "admin",
      "version_no": 1
    }
  }
}

Crear Rol

Solicitud

POST /api/admin/role/setting
Content-Type: application/json

Cuerpo de la Solicitud

{
  "name": "editor"
}

Descripción de Campos

Campo Requerido Descripción
name Sí Nombre del rol (máximo 100 caracteres)
attributes No Mapa de atributos. Los valores se especifican como cadenas

Respuesta

{
  "response": {
    "status": 0,
    "id": "new_role_id",
    "created": true
  }
}

Actualizar Rol

Solicitud

PUT /api/admin/role/setting
Content-Type: application/json

Cuerpo de la Solicitud

{
  "id": "existing_role_id",
  "name": "editor_updated",
  "version_no": 1
}

Descripción de Campos

Campo Requerido Descripción
id Sí ID del rol a actualizar
name Sí Nombre del rol (máximo 100 caracteres)
attributes No Mapa de atributos. Los valores se especifican como cadenas
version_no Sí Número de versión para el bloqueo optimista. Especifique el valor de version_no obtenido al obtener el rol

Respuesta

{
  "response": {
    "status": 0,
    "id": "existing_role_id",
    "created": false
  }
}

Eliminar Rol

Solicitud

DELETE /api/admin/role/setting/{id}

Respuesta

{
  "response": {
    "status": 0,
    "id": "deleted_role_id",
    "created": false
  }
}

Ejemplos de Uso

Crear Nuevo Rol

curl -X POST "http://localhost:8080/api/admin/role/setting" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "name": "content_manager"
     }'

Obtener Lista de Roles

curl -X GET "http://localhost:8080/api/admin/role/settings" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"size": 50, "page": 1}'

Información de Referencia