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
Assignee: 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 is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.