Управление версиями RESTful API с содержимым XML и JSON -Тип

В соответствии с этой прекрасной презентацией по проектированию интерфейсов RESTful предпочтительным способом реализации управления версиями является использование заголовка Accept -с использованием чего-то вроде:

GET /products HTTP/1.1
Host: example.com
Accept: application/vnd.com.myservice.v2+xml

Это отлично работает для типов контента XML -, но возможно ли использовать ту же схему для управления версиями JSON -, эквивалентной ?

То есть можно ли запросить:

GET /products HTTP/1.1
Host: example.com
Accept: application/vnd.com.myservice.v2+json

Ответ будет примерно таким::

HTTP/1.1 200 OK
Content-Type: application/vnd.com.myservice.v2+xml; charset=UTF-8
Allow: GET, POST



  
    Red Stapler
    3.14
    false
  

и эквивалент JSON (типа):

HTTP/1.1 200 OK
Content-Type: application/vnd.com.myservice.v2+json; charset=UTF-8
Allow: GET, POST

[
  {
    id: "1234",
    links: [
      {
        rel: "self",
        href: "http://example.com/products/1234"
      }
    ],
    name: "Red Stapler",
    price: {
      currency: "EUR",
      value: 3.14
    },
    availability: false
  }
]

14
задан PatrikAkerstrand 20 August 2012 в 14:33
поделиться