alibaba/spring-ai-alibaba · warning · BizException
MISSING_PARAMS
MISSING_PARAMS
Error message
app
What it means
AppController.createApp throws BizException(ErrorCode.MISSING_PARAMS.toError("app")) when the POST request body deserializes to null. An Application object is required to create an app; a missing/empty body cannot be processed.
Source
Thrown at spring-ai-alibaba-admin/spring-ai-alibaba-admin-server-start/src/main/java/com/alibaba/cloud/ai/studio/admin/builder/controller/AppController.java:73
/** Manager for workflow execution */
private final WorkflowExecuteManager workflowExecuteManager;
public AppController(AppService appService, WorkflowExecuteManager workflowExecuteManager) {
this.appService = appService;
this.workflowExecuteManager = workflowExecuteManager;
}
/**
* Creates a new application
* @param app Application details
* @return Created application ID
*/
@PostMapping()
public Result<String> createApp(@RequestBody Application app) {
RequestContext context = RequestContextHolder.getRequestContext();
if (Objects.isNull(app)) {
throw new BizException(ErrorCode.MISSING_PARAMS.toError("app"));
}
if (StringUtils.isBlank(app.getName())) {
throw new BizException(ErrorCode.MISSING_PARAMS.toError("name"));
}
if (Objects.isNull(app.getConfig())) {
throw new BizException(ErrorCode.MISSING_PARAMS.toError("config"));
}
String appId = appService.createApp(app);
return Result.success(context.getRequestId(), appId);
}
/**
* Updates an existing application
* @param appId Application ID
* @param app Updated application detailsView on GitHub (pinned to f82da0b50f)
Solutions
- Send a valid JSON Application object as the request body
- Set Content-Type: application/json on the request
- Validate the body is non-null before calling the API
Example fix
// before
curl -X POST http://host/app
// after
curl -X POST http://host/app -H 'Content-Type: application/json' -d '{"name":"my-app","config":{}}' Defensive patterns
Strategy: validation
Validate before calling
if (app == null) { throw new IllegalArgumentException("application body is required"); } Type guard
boolean hasBody(Application app) { return app != null; } Try / catch
try { client.createApp(app); } catch (BizException e) { if ("MISSING_PARAMS".equals(e.getCode())) { /* fix request body, no retry */ } } Prevention
- Always send a JSON body with Content-Type: application/json
- Validate payloads before HTTP calls
- Never send literal null bodies
When it happens
Trigger: POST /app with an empty body, no Content-Type: application/json header causing the body to not bind, or a client sending a literal null body.
Common situations: curl calls without -d or without the JSON content type; proxies stripping the body; client code passing null to the HTTP helper.
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 alibaba/spring-ai-alibaba@f82da0b50f (2026-09-09).
Data as JSON: /api/errors/7e79990e20cdbc25.
Report an issue: GitHub.