XPOST和XPUT之间的区别

时间:2014-05-31 18:36:52

标签: rest elasticsearch

我刚刚开始使用ElasticSearch。我试图知道如何插入文档。我只找到了使用PUT方法的示例:$ curl -XPUT 'http://localhost:9200/...' 但它似乎也使用POST工作。这两种方法有什么区别吗?

谢谢。

2 个答案:

答案 0 :(得分:10)

通常在使用REST API时:
- POST用于创建资源,服务器将在其中选择ID - PUT用于更新OR PLACE已知ID的资源。

Doc creation examples in the ES documentation show the caller picking an ID.

像这样:

curl -XPUT 'http://localhost:9200/twitter/tweet/1' -d '{
    "user" : "kimchy",
    "post_date" : "2009-11-15T14:12:12",
    "message" : "trying out Elasticsearch"
}'

由于来电者正在挑选ID,因此PUT似乎合适。

BUT

使用POST Elasticsearch也可以为您生成ID。

$ curl -XPOST 'http://localhost:9200/twitter/tweet/' -d '{
    "user" : "kimchy",
    "post_date" : "2009-11-15T14:12:12",
    "message" : "trying out Elasticsearch"
}'

答案 1 :(得分:0)

不知何故,他们具有相同的功能与小的不同

PUT动词(“将此文档存储在此URL”)

POST动词(“将此文档存储在此URL下”)

中,您必须指明确切的网址,但在帖子中您只需输入

即可设置文档

例如:

PUT / website / blog / 123表示将此文档放在此URL,但POST / website / blog会将文档插入博客并自动增加最后一个文档的ID。