如何使用rest API创建以JSON Body形式发送数据的帖子?

时间:2021-02-06 作者:Priyantha Buddhika

我可以在我的WordPress网站上使用RESTAPI和下面的curl请求格式创建帖子。网站使用基本身份验证插件进行身份验证。

curl --user "username:password" -X POST -i https://mywebsite.com/wp-json/wp/v2/posts?title=myTitle&content=MyContent

然而,我的问题是,在使用REST API创建帖子时,我需要设置帖子的自定义字段。我尝试使用下面的命令以JSON体的形式发送数据,但没有成功。它只返回所有帖子,不创建新帖子,也不给出任何错误。

curl --user "username:password" -X POST -i https://mywebsite.com/wp-json/wp/v2/posts -d \'{"title":"NEw tiitle"}\'

我也尝试过使用邮递员服务向我的网站发送帖子创建请求,同样的事情也发生了。谁能帮我解决这个问题?提前感谢!

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

这很奇怪,但尽管如此,您应该知道,无论您使用cURL、PHP、JS等,如果您发送的是JSON数据,那么您应该设置Content-Type 标题application/json.

通过cURL命令行,您可以使用-H 选项:

curl --user "username:password" -X POST \\
-H "Content-Type: application/json" \\
-i https://example.com/wp-json/wp/v2/posts \\
-d \'{"title": "foo bar", "content": "test"}\'
此外,如果您使用的是Windows,则可能需要使用double quotes 而不是使用-d 选项所以上面是:(注:我使用了插入符号(^) 符号而非反斜杠)

curl --user "username:password" -X POST ^
-H "Content-Type: application/json" ^
-i https://example.com/wp-json/wp/v2/posts ^
-d "{\\"title\\": \\"Windows test\\", \\"content\\": \\"test\\"}"

相关推荐

自定义“The_Posts_Pagination”并将列表放入div

Hello everybody, 我需要有关自定义wordpress分页的帮助。我想得到这个:这就是我所做的:在函数中。php,我添加了以下代码:function wp_custom_pagination($args = [], $class = \'pagination\') { if ($GLOBALS[\'wp_query\']->max_num_pages <= 1) return; $args = wp_parse_args( $args,