Versioning a RESTful API with both XML and JSON Content-Type

前端 未结 2 542
你的背包
你的背包 2020-12-25 08:53

According to this excellent presentation on designing RESTful interfaces, the preferred way to implement versioning is to utilize the Accept-header, using something like:

2条回答
  •  长情又很酷
    2020-12-25 09:06

    You can implement versioning either by adding a version in the content type:

    application/vnd.acme.user-v1+xml
    

    Or you can also use a qualifier in your Accept header, that way you don’t touch your content type:

    application/vnd.acme.user+xml;v=1
    

    You can split your content type application/vnd.acme.user+xml in two parts: the first one (application/vnd.acme.user) describes the media type, and the second one (xml) the format of the response. That means you can use another format like json: application/vnd.acme.user+json.

    In the HATEOAS world, XML is better than JSON for readability and semantic purposes, if you want to use JSON, you could be interested by this specification: https://github.com/kevinswiber/siren.

提交回复
热议问题