Flowable:杰克逊改造flowable的部署,提示CommandContextUtil。 GetResourceEntityManager()为空

问题描述 投票:0回答:1

这是我的电话

    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;
    }
jackson flowable
1个回答
0
投票

Flowable 中的公共 Java API 类(例如

Deployment
)不是构建为直接通过 REST 返回的。如果您想归还它们,您需要创建自己的 DTO 来实现您想要实现的目标。

© www.soinside.com 2019 - 2024. All rights reserved.