XPOST和XPUT之间的区别

a1t*_*h42 5 rest elasticsearch

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

谢谢.

mco*_*lin 11

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

ES文档中的文档创建示例显示调用者选择ID.

像这样:

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

由于呼叫者正在选择ID,因此PUT似乎是合适的.

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

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