跳转至

RoleAuthtimeController(角色管理)

查询软件(application)下的角色列表:支持 POST(带 body 关键词过滤)与 GET(无关键词)两种方式。POST 形态会过滤只返回启用状态(status==1)的角色并投影为精简 JSON;GET 形态直接返回原始 DataPackage<Role>

  • 类级基址${myapps.context-path.manager:}/api/authtime(完整路径:{manager-context}/api/authtime<相对路径>
  • Tag:控制器未声明 @Tag(源码无 @Tag 注解)
  • 控制器源码obpm-manager/src/main/java/cn/myapps/manager/authtime/controller/role/RoleAuthtimeController.java
  • 公共说明
  • 类继承 BaseAuthTimeController,通过其 success(errmsg, data) / error(errcode, errmsg, errors) 返回统一 Resource(字段 errcode/errmsg/data/errors,结构见 ../index.md「统一响应结构」)。
  • 端点在 try/catch 内捕获 Exceptione.printStackTrace() 后返回 errcode=500errmsg=e.getMessage()data=null
  • 控制器未声明 @ResponseStatus,HTTP 状态码默认 200。
  • 鉴权说明见 index.md「鉴权说明」(adminToken JWT)。
  • 路径变量 applicationid 为软件 id。
  • 控制器内有两个同名重载方法 getRoleList,分别映射到 POSTGET,路径相同(/application/{applicationid}/roles),按请求方法区分。

1. 获取角色列表(POST,带关键词过滤)

按软件 id 分页查询角色列表,支持按角色名称(name,body 内)模糊匹配。仅返回启用状态(status==1)的角色,并投影为精简 JSON(roleId/roleName/defaultRole)。

  • 接口类型:REST 资源
  • 请求方式POST
  • 请求路径/application/{applicationid}/roles(完整:{manager-context}/api/authtime/application/{applicationid}/roles
  • 鉴权:是(需管理员 adminToken,详见 index.md「鉴权说明」)
  • Tag:角色管理(控制器未声明 @Tag

请求参数

参数名 位置 类型 必填 说明
applicationid path string 软件 id
content body JSON 过滤条件包体(字段见下)
currpage query string 当前页码,缺省 1
pagelines query string 每页条数,缺省 Integer.MAX_VALUE(即不分页)

请求体

JSON 对象(application/json),字段:

字段 类型 必填 说明
name string 角色名称模糊匹配关键词

请求示例

POST /api/authtime/application/__APP01/roles?currpage=1&pagelines=20 HTTP/1.1
Content-Type: application/json

{ "name": "管理员" }

响应

结构:统一 ResourcedataJSONObjectnet.sf.json),字段:

字段 类型 说明
role array\<JSONObject> 启用状态的角色数组(见下)
currpage int 当前页码
pagelines int 每页条数(缺省时为 Integer.MAX_VALUE
rowCount int 总记录数(含未启用的,由底层查询返回)

role 元素字段:

字段 类型 说明
roleId string 角色 id
roleName string 角色名称
defaultRole boolean 是否默认角色

注:源码仅遍历 dataPackage.getDatas()status==1 的角色加入 role 数组,rowCount 为底层查询的全量行数(未按状态过滤),故 role.lengthrowCount 可能不一致。

成功示例

{
  "errcode": 0,
  "errmsg": "ok",
  "data": {
    "role": [
      { "roleId": "__ROLE01", "roleName": "管理员", "defaultRole": false },
      { "roleId": "__ROLE02", "roleName": "普通用户", "defaultRole": true }
    ],
    "currpage": 1,
    "pagelines": 20,
    "rowCount": 3
  },
  "errors": null
}
失败示例
{ "errcode": 500, "errmsg": "<异常信息>", "data": null, "errors": null }


2. 获取角色列表(GET,无关键词)

按软件 id 分页查询角色列表(不支持名称过滤),直接返回底层 DataPackage<Role>,包含所有状态的角色。

  • 接口类型:REST 资源
  • 请求方式GET
  • 请求路径/application/{applicationid}/roles(完整:{manager-context}/api/authtime/application/{applicationid}/roles
  • 鉴权:是
  • Tag:角色管理(控制器未声明 @Tag

请求参数

参数名 位置 类型 必填 说明
applicationid path string 软件 id
currpage query string 当前页码,缺省 1
pagelines query string 每页条数,缺省 Integer.MAX_VALUE(即不分页)

请求示例

GET /api/authtime/application/__APP01/roles?currpage=1&pagelines=20 HTTP/1.1

响应

结构:统一 ResourcedataDataPackage<Role>,字段:

字段 类型 说明
linesPerPage int 每页条数
pageCount int 总页数
pageNo int 当前页码
rowCount int 总记录数
datas array\<Role> 角色数组(含全部状态)

成功示例

{
  "errcode": 0,
  "errmsg": "ok",
  "data": {
    "linesPerPage": 20,
    "pageCount": 1,
    "pageNo": 1,
    "rowCount": 3,
    "datas": [
      { "id": "__ROLE01", "name": "管理员", "status": 1, "defaultRole": false },
      { "id": "__ROLE02", "name": "普通用户", "status": 1, "defaultRole": true },
      { "id": "__ROLE03", "name": "已停用角色", "status": 0, "defaultRole": false }
    ]
  },
  "errors": null
}
失败示例
{ "errcode": 500, "errmsg": "<异常信息>", "data": null, "errors": null }