[
https://issues.apache.org/jira/browse/HBASE-2678?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Purtell updated HBASE-2678:
----------------------------------
Assignee: (was: Andrew Purtell)
> version the REST interface
> --------------------------
>
> Key: HBASE-2678
> URL: https://issues.apache.org/jira/browse/HBASE-2678
> Project: HBase
> Issue Type: Sub-task
> Reporter: Andrew Purtell
>
> As mentioned in HBASE-2563, we should deprecate all uses of _cell_ in the API
> and replace with new APIs that use _value_ instead. So we need a way to
> version the REST interface, to provide an updated API while maintaining
> access to the deprecated one until the next major revision. However,
> something like this I consider wrong:
> {{/path/to/v1/resource}}
> and also:
> {{/v2/path/to/resource}}
> because the resource is the same regardless of the representation change.
> REST makes a distinction between the representation and the resource using
> media types.
> Currently Stargate supports the following encodings:
> * {{text/plain}} (in some cases)
> * binary: {{application/octet-stream}} (freeform, no schema change needed)
> * XML: {{text/xml}}
> * JSON: {{application/json}}
> * protobufs: {{application/x-protobuf}}
> We can add Avro encoding support in HBASE-2557 with the new representation as
> {{application/x-avro-binary}} immediately. For XML, JSON, and protobuf
> encoding, we can support new representations using the following new media
> types in the current version:
> * XML: {{application/vnd.hbase+xml}}
> * JSON: {{application/vnd.hbase+json}}
> * protobufs: {{application/vnd.hbase+protobuf}}
> * and for sake of consistency: {{application/vnd.hbase+avro}}
> and then in the next major version recognize both MIME types but return the
> same (newer) representation.
--
This message was sent by Atlassian JIRA
(v6.2#6252)