Gentics Mesh Schema 刚创建后找不到
Gentics Mesh Schema can't be found after just creating it
我能够使用 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);
}
我需要等待一段时间才能使用吗?
或者还有什么想法?
谢谢!
问题是我从未订阅过 assignSchemaToProject 请求 -
client.assignSchemaToProject(meshProjectName, response.getUuid())
所以在我订阅之后,请求被执行并且现在可用于 CreateNodeRequest。
client.assignSchemaToProject(meshProjectName, response.getUuid()).blockingGet();
我能够使用 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);
}
我需要等待一段时间才能使用吗? 或者还有什么想法?
谢谢!
问题是我从未订阅过 assignSchemaToProject 请求 -
client.assignSchemaToProject(meshProjectName, response.getUuid())
所以在我订阅之后,请求被执行并且现在可用于 CreateNodeRequest。
client.assignSchemaToProject(meshProjectName, response.getUuid()).blockingGet();