0

我能够使用 MeshRestClient 创建一个新模式,并获得成功的响应。

虽然,在那之后,我尝试使用架构创建一个节点,但我得到一个关于缺少引用架构的异常。

创建模式的日志输出 -

12:30:13.177 [] INFO  [vert.x-worker-thread-9] [JULLogDelegate.java:167] - 127.0.0.1 - POST /api/v1/schemas/f0ee56b03d514a5fae56b03d519a5f04 HTTP/1.1 201 835 - 20 ms
12:30:13.179 [] INFO  [main] [MeshService.java:81] - created schema - uuid: f0ee56b03d514a5fae56b03d519a5f04, name: form_definition

然后在使用该架构引用创建新节点时 -

Caused by: com.gentics.mesh.rest.client.MeshRestClientMessageException: Error:404 in POST /api/v1/demo/nodes : Not Found Info: Object with uuid "f0ee56b03d514a5fae56b03d519a5f04" could not be found.

我尝试在 NodeCreateRequest 中设置架构名称和架构引用,但都抱怨。

    public MeshRequest<NodeResponse> saveFormDefinition(Map<String, Object> form) {
        NodeCreateRequest nodeCreateRequest = new NodeCreateRequest()
                .setSchema(formDefinitionSchema.toReference())
                .setLanguage("en")
                .setParentNodeUuid(formsFolderNode);
        String formName = (String)form.get("name");
        nodeCreateRequest.getFields().putString("name", formName);
        return this.client.createNode(this.meshProjectName, nodeCreateRequest);
    }

在它可用之前我需要等待一段时间吗?还是有其他想法?

谢谢!

4

1 回答 1

1

问题是我从未订阅 assignSchemaToProject 请求 -

client.assignSchemaToProject(meshProjectName, response.getUuid())

所以在我订阅之后,请求被执行并且现在可用于 CreateNodeRequest。

client.assignSchemaToProject(meshProjectName, response.getUuid()).blockingGet();
于 2019-11-04T00:22:31.903 回答