You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Francis Liu (JIRA)" <ji...@apache.org> on 2013/06/21 04:38:20 UTC

[jira] [Commented] (HBASE-2678) version the REST interface

    [ https://issues.apache.org/jira/browse/HBASE-2678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13689981#comment-13689981 ] 

Francis Liu commented on HBASE-2678:
------------------------------------

Reviving this jira. Can we just add version to the path? ie v1/ v2/? This is the standard we use, oozie uses the same scheme as well.
                
> 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.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira