re: https://twitter.com/apiblueprint/status/374456335846612992
application/json;charset=utf-8
application/json; charset=utf-8
application/json; charset="utf-8"
application/json // since JSON's default unicode charset is UTF-8
Not many, ~ if any, clients/servers are able to handle all combinations and their equivalence. I'll cut it short: decisions shouldn't be driven imho by current failures.. I meant current implementations, but in the case of version
, within the mindset of a very convoluted HTTP grammar, I fall on the KISS side.
From here:
Parameters are modifiers of the media subtype, and as such do not
fundamentally affect the nature of the content. The set of
meaningful parameters depends on the media type and subtype. Most
parameters are associated with a single specific subtype. However, a
given top-level media type may define parameters which are applicable
to any subtype of that type. Parameters may be required by their
defining media type or subtype or they may be optional. MIME
implementations must also ignore any parameters whose names they do
not recognize.
So does version affect fundamentaly the nature of the content? I'd say so due to breaking changes, but the floor is open to interpretation.
@andreineculau, thank you for bringing this discussion to the table!
I totally understand and copy on the point you have made in media-type equivalence. The
version
parameter is indeed optional and where omitted the latest available version on the given system should be used.However as we will mature the format changes, including those, not backward compatible will inevitably happen. Furthermore this parameter is dubbed under the
_version: <AST version>
in a serialized format. And as you can see more consistency problems might dwell here.All in all it is really a question about growing a Media Type. Would you suggest to leave versioning completely out of both the Media Type and a serialization? Am I just unnecessarily afraid of possible future changes?
Thank you for your input! Much appreciated.