我需要创建一个BlogPost(使用XWiki API REST)。但我不知道使用REST ... 使用此命令:
$ curl -u Admin:admin -X PUT --data-binary "@newpage.xml" -H "Content-Type: application/xml" http://localhost:8080/xwiki/rest/wikis/xwiki/spaces/Main/pages/NewPage
并使用此XML文件:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<page xmlns="http://www.xwiki.org">
<title>Hello world</title>
<syntax>xwiki/2.0</syntax>
<content>This is a new page</content>
</page>
我在空间Main
中创建了一个页面。但我想在空间Blog
中使用BlogPost。我必须使用什么标记? (我找到了这个命令here)
答案 0 :(得分:0)
通常使用REST,您希望将PUT消息发送到您要创建(或更新)的URL。因此,您将改为:
http://localhost:8080/xwiki/rest/wikis/xwiki/spaces/Main/pages/NewPage
可能这样(假设您在空间BlogPost
中创建Blog
):
http://localhost:8080/xwiki/rest/wikis/xwiki/spaces/Blog/pages/BlogPost
命令的其余部分应该是适合您的任何内容。由于它现在正在主空间中创建页面,我希望它足够了。
答案 1 :(得分:0)
使用的正确命令是:
curl -u Admin:admin -X POST --data-binary "@blogpost.xml" -H "Content-Type: application/xml" http://localhost:8080/xwiki/rest/wikis/xwiki/spaces/Blog/pages/A+New+Blogpost/objects
XML文件应如下所示:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object xmlns="http://www.xwiki.org"><className>Blog.BlogPostClass</className>
<property name="category"><value>Blog.News</value></property>
<property name="content"><value>This is the new blog post. You can use **wiki syntax** in it.
Don't forget to escape XML entities like & and <!</value></property>
<property name="publishDate"><value>2012-06-06 12:00:00.0</value></property>
<property name="published"><value>1</value></property>
<property name="title"><value>Second blog post</value></property>
</object>
有几点需要注意:
PUT
标题和父项添加到新文档中,然后可以向其中添加对象。POST
,并且通过将/objects
附加到文档的REST URL来获取URL。&#39;
),而发送的资源应该只有一次编码的实体('
)。