这是我的电话
public IPage<Deployment> deploymentPage(Query query, String key, String name, String tenantId) {
DeploymentQuery deploymentQuery = repositoryService.createDeploymentQuery();
if (StringUtil.isNotBlank(key)) {
deploymentQuery.deploymentKeyLike(StringPool.PERCENT + key + StringPool.PERCENT);
}
if (StringUtil.isNotBlank(name)) {
deploymentQuery.deploymentNameLike(StringPool.PERCENT + name + StringPool.PERCENT);
}
if (StringUtil.isNotBlank(tenantId)) {
deploymentQuery.deploymentTenantId(tenantId);
}
IPage<Deployment> page = Condition.getPage(query);
long count = deploymentQuery.count();
List<Deployment> deployments = deploymentQuery.orderByTenantId().orderByDeploymentTime().desc().listPage((query.getCurrent() - 1) * query.getSize(), query.getSize());
page.setRecords(deployments);
page.setTotal(count);
return page;
}
我用
JSON
返回IPage\<Deployment\>
错误:
无法写入 JSON: (是 java.lang.NullPointerException);嵌套的 例外是 com.fasterxml.jackson.databind.JsonMappingException: ( 是 java.lang.NullPointerException)(通过引用链: org.springblade.core.tool.api.R["data"]->com.baomidou.mybatisplus.extension.plugins.pagination.Page["records"]->java.util.ArrayList[0]->org. flowable.engine.impl.persistence.entity.DeploymentEntityImpl["资源"])
定位后发现
CommandContextUtil.getResourceEntityManager().findResourcesByDeploymentId(id);
行CommandContextUtil.getResourceEntityManager()
为空
@Override
public Map<String, EngineResource> getResources() {
if (resources == null && id != null) {
List<ResourceEntity> resourcesList = CommandContextUtil.getResourceEntityManager().findResourcesByDeploymentId(id);
resources = new HashMap<>();
for (ResourceEntity resource : resourcesList) {
resources.put(resource.getName(), resource);
}
}
return resources;
}
Flowable 中的公共 Java API 类(例如
Deployment
)不是构建为直接通过 REST 返回的。如果您想归还它们,您需要创建自己的 DTO 来实现您想要实现的目标。