2012-06-04 7 views
0

BlogPost를 (XWiki API REST로) 작성해야합니다. 하지만이 명령을 REST ... 을 사용 모르는 :REST로 BlogPost XWiki 만들기

$ 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의 페이지를 만들 수 있습니다. 하지만 공간에 BlogPost를 넣고 싶습니다. Blog. 내가 사용해야하는 마크 업은 무엇입니까? (이 명령을 발견했습니다 here)

답변

0

오른쪽 명령은 다음과 같습니다 주목

<?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 &amp; and &lt;!</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> 

몇 가지 :

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 파일과 같아야합니다

  • 이미 존재해야합니다 문서를, 이것은 존재하지 않는 문서에 대해서는 작동하지 않습니다. 그래서, 먼저 할일은 PUT에 제목과 부모를 새 문서로 추가 한 다음 개체를 추가 할 수 있습니다.
  • 개체 생성을위한 올바른 동사는 POST이고 URL은 문서의 REST URL에 /objects을 추가하여 가져옵니다.
  • 새로 생성 된 개체의 실제 REST URL이 리디렉션으로 반환됩니다. 리디렉션을 가로 채고 필요에 따라 URL을 처리하거나 리디렉션을 진행시켜 자세한 구문으로 작성된 개체를 다시 가져올 수 있습니다.
  • 일반적으로 리소스를 가져올 때 반환되는 구문과 동일한 구문을 사용하지만 모든 데이터가 필요하지는 않습니다. 예를 들어, 먼저 기존 blogpost 객체를 가져 와서이 객체에 대한 XML을 가져온 다음 서버가 로컬로 계산할 수 있기 때문에 수신 할 필요가없는 모든 객체를 제거합니다.
  • 리소스를 가져올 때 XML 엔티티가 두 번 (&amp;#39;) 인코딩되고 보낸 리소스는 한 번만 인코딩 된 엔티티 (&#39;)가 있어야한다는 사실을 알게되었습니다.
+0

는 또한 고르를 사용할 수 http://platform.xwiki.org/xwiki/bin/view/Features/XWikiRESTfulAPI#HCreatinganXWikiObject –

+0

를 참조? – Lorenzo

0

일반적으로 REST를 사용하면 만들거나 업데이트하려는 URL로 PUT 메시지를 보내야합니다.

http://localhost:8080/xwiki/rest/wikis/xwiki/spaces/Main/pages/NewPage

어쩌면이 (당신이 공간 BlogBlogPost을 만드는 가정)에 : 따라서, 당신은에서 변경하려는 명령의

http://localhost:8080/xwiki/rest/wikis/xwiki/spaces/Blog/pages/BlogPost

나머지는 당신을 위해 일하는 무엇이든해야한다. 메인 공간에 페이지를 만드는 작업이 진행되고 있으므로 충분할 것으로 기대됩니다. 사용

관련 문제