Procházet zdrojové kódy

[SETUP] Added README and LICENSE

Karel Minarik před 12 roky
rodič
revize
3f8a861768
2 změnil soubory, kde provedl 65 přidání a 0 odebrání
  1. 13 0
      rest-api-spec/LICENSE.txt
  2. 52 0
      rest-api-spec/README.markdown

+ 13 - 0
rest-api-spec/LICENSE.txt

@@ -0,0 +1,13 @@
+Copyright (c) 2013 Elasticsearch
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.

+ 52 - 0
rest-api-spec/README.markdown

@@ -0,0 +1,52 @@
+# Elasticsearch REST API JSON specification
+
+This repository contains a collection of JSON files which describe the [Elasticsearch](http://elasticsearch.org) HTTP API.
+
+Their purpose is to formalize and standardize the API, to facilitate development of libraries and integrations.
+
+Example for the ["Create Index"](http://www.elasticsearch.org/guide/reference/api/admin-indices-create-index/) API:
+
+```json
+    {
+      "indices.create": {
+        "documentation": "http://elasticsearch.org/guide/reference/mapping/",
+
+        "methods": ["PUT", "POST"],
+
+        "url": {
+          "path": "/{index}",
+
+          "paths": ["/{index}"],
+
+          "parts": {
+            "index": {}
+          },
+
+          "params": {
+            "index": {},
+            "timeout": {}
+          }
+        },
+        "body": {
+        }
+      }
+    }
+```
+
+The specification contains:
+
+* The _name_ of the API (`indices.create`), which usually corresponds to the client calls
+* Link to the documentation at <http://elasticsearch.org>
+* List of HTTP methods for the endpoint
+* URL specification: path, parts, parameters
+* Whether body is allowed for the endpoint or not
+
+The `methods` and `url.paths` elements list all possible HTTP methods and URLs for the endpoint;
+it is the responsibility of the developer to use this information for a sensible API on the target platform.
+
+The repository also contains a utility script in Ruby which will scan and parse the Elasticsearch source code
+to extract the information from the Java source files. Run `bundle install` and then `thor help api:generate:spec`.
+
+## License
+
+This software is licensed under the Apache 2 license.