1
0
Fork 0
arangodb/RestServer/rest-document.dox

99 lines
3.7 KiB
Plaintext

////////////////////////////////////////////////////////////////////////////////
/// @brief over the wire protocol
///
/// @file
///
/// DISCLAIMER
///
/// Copyright 2012 triagens GmbH, Cologne, Germany
///
/// 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.
///
/// Copyright holder is triAGENS GmbH, Cologne, Germany
///
/// @author Dr. Frank Celler
/// @author Copyright 2012, triAGENS GmbH, Cologne, Germany
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/// @page RestDocumentTOC
///
/// <ol>
/// <li>@ref RestCollectionCreate "POST /collection/@FA{collection-identifier}"</li>
/// <li>@ref RestCollectionRead "GET /collection/@FA{collection-identifier}/@FA{document-identifier}"</li>
/// <li>@ref RestCollectionReadAll "GET /collection/@FA{collection-identifier}"</li>
/// <li>@ref RestCollectionUpdate "PUT /collection/@FA{collection-identifier}/@FA{document-identifier}"</li>
/// <li>@ref RestCollectionDelete "DELETE /collection/@FA{collection-identifier}/@FA{document-identifier}"</li>
/// <li>@ref RestCollectionHead "HEAD /collection/@FA{collection-identifier}/@FA{document-identifier}"</li>
/// </ol>
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/// @page RestDocument REST Interface for Documents
///
/// Documents in AvocadoDB are JSON objects. The objects can be nested to any
/// depth and can contains lists, for example:
///
/// @verbinclude document1
///
/// All documents contain two special fields, the document handle in @LIT{_id}
/// and the document revision in @LIT{_rev}.
///
/// @copydoc GlossaryDocumentHandle
///
/// @copydoc GlossaryDocumentIdentifier
///
/// @copydoc GlossaryDocumentRevision
///
/// @copydoc GlossaryDocumentEtag
///
/// The basic operations (create, read, update, delete) for documents are mapped
/// to the standard HTTP methods (POST, GET, PUT, DELETE). An identifier for the
/// document revision is returned in the "ETag" field. If you modify a document,
/// you can use the "ETag" field to detect conflicts. The revision of a document
/// can be checking using the HTTP method HEAD.
///
/// <hr>
/// @copydoc RestDocumentTOC
/// <hr>
///
/// @anchor RestCollectionCreate
/// @copydetails triagens::avocado::RestCollectionHandler::createDocument
/// <hr>
///
/// @anchor RestCollectionRead
/// @copydetails triagens::avocado::RestCollectionHandler::readSingleDocument
/// <hr>
///
/// @anchor RestCollectionReadAll
/// @copydetails triagens::avocado::RestCollectionHandler::readAllDocuments
/// <hr>
///
/// @anchor RestCollectionUpdate
/// @copydetails triagens::avocado::RestCollectionHandler::updateDocument
/// <hr>
///
/// @anchor RestCollectionDelete
/// @copydetails triagens::avocado::RestCollectionHandler::deleteDocument
/// <hr>
///
/// @anchor RestCollectionHead
/// @copydetails triagens::avocado::RestCollectionHandler::checkDocument
////////////////////////////////////////////////////////////////////////////////
// Local Variables:
// mode: c++
// mode: outline-minor
// outline-regexp: "^\\(/// @brief\\|/// {@inheritDoc}\\|/// @addtogroup\\|// --SECTION--\\|/// @page\\|/// @\\}\\)"
// End: