iflytek/astron-agent · error · BusinessException

8008

8008

Error message

exceed.authority

What it means

ResponseEnum.PAGE_SEPARATOR_MISS (code 8008, message "exceed.authority") thrown by WorkflowController.list when pagination.isEmpty() is true. The message does not reflect the actual problem: the workflow list endpoint requires non-empty current/pageSize parameters. Request is rejected before workflowService.listPage runs.

Solutions

  1. Send current and pageSize on every list call: ?current=1&pageSize=10.
  2. Apply client-side defaults for pagination before requesting the workflow list.
  3. Fix the enum: PAGE_SEPARATOR_MISS should map to a 'missing pagination parameters' message/code, not 'exceed.authority' (8008).
  4. For shared/bookmarked URLs, read paging params with defaults: page = params.current ?? 1.

Example fix

// before
await api.get('/workflow', { params: { search, status } });
// after
await api.get('/workflow', { params: { search, status, current: 1, pageSize: 10 } });
Defensive patterns

Strategy: validation

Validate before calling

function workflowListParams(params) {
  return { current: params.current ?? 1, pageSize: params.pageSize ?? 10, ...params };
}

Type guard

const pagingOk = (p) => p?.current != null && p?.pageSize != null;

Try / catch

try {
  const list = await api.listWorkflows(params);
} catch (e) {
  if (e.code === 8008) {
    // not an auth problem: pagination was empty
    return api.listWorkflows({ ...params, current: 1, pageSize: 10 });
  } else throw e;
}

Prevention

When it happens

Trigger: GET the workflow list endpoint with filters but without paging params, e.g. /workflow?search=etl&status=1 with no current/pageSize, or with values the Pagination bean treats as empty (null).

Common situations: Deep links/bookmarks to a filtered list URL lacking page params; frontend resetting pagination state and sending nulls; older API clients built before paging became mandatory.

Understand the failure class

Background: "missing required argument" and "the following required arguments were not provided": what required-argument errors mean and how to fix them — this error's family across 20 libraries.

Related errors


AI-assisted analysis of iflytek/astron-agent@5e758547a8 (2026-09-12). Data as JSON: /api/errors/0da98ce76c428fc5. Report an issue: GitHub.

Appendix: source

Thrown at console/backend/toolkit/src/main/java/com/iflytek/astron/console/toolkit/controller/workflow/WorkflowController.java:104

     * @param spaceId Space ID (optional, fallback to SpaceInfoUtil in service layer if empty)
     * @return Paginated data
     */
    @GetMapping("/list")
    @SpacePreAuth(
            key = "WorkflowController_list_GET",
            module = "Workflow",
            point = "Workflow List",
            description = "Workflow List")
    public PageData<WorkflowVo> list(
            @NotNull(message = "Pagination parameters cannot be null") Pagination pagination,
            @RequestParam(required = false) String search,
            @RequestParam(required = false) String flowId,
            @RequestParam(required = false) Integer status,
            @RequestParam(required = false) Integer order,
            @RequestParam(required = false) Long spaceId) throws UnsupportedEncodingException {

        if (pagination.isEmpty()) {
            throw new BusinessException(ResponseEnum.PAGE_SEPARATOR_MISS);
        }
        return workflowService.listPage(
                spaceId, pagination.getCurrent(), pagination.getPageSize(), search, status, order, flowId);
    }

    /**
     * Get workflow details.
     *
     * @param id Workflow primary key ID
     */
    @GetMapping
    @SpacePreAuth(
            key = "WorkflowController_detail_GET",
            module = "Workflow",
            point = "Workflow Details",
            description = "Workflow Details")
    public WorkflowVo detail(@RequestParam @NotBlank String id, @RequestParam(required = false) Long spaceId) {
        return workflowService.detail(id, spaceId);

View on GitHub (pinned to 5e758547a8)