Description
In mnot/I-D#175 @dret states:
profile was not intended to refer to a schema. it is intended to refer
to a profile, which is defined as extending and/or constraining the
original media type. the spec gives examples.
yet in issue #26 filed here by @dret it looked like we had received his approval on how we are wording our specification around the use of "profile"
@dret can you help us out here? Is what we have acceptable or not? To me it seems like JSON Schema is doing exactly this- further constraining the application/json
media type by declaring that only a subset of possible documents are valid rather than all possible expressions of the JSON syntax. But it sounds like you do not view it this way.
Also in the same issue in mnot/I-D:
a profile media type parameter has to be allowed by the media type.
very few media types do this. so while i think that it's possible (and
maybe even better) to use a media type profile parameter, if that
mechanism is required, in many cases the media type simply will not
allow such a parameter to be used.
Since application/json
does not explicitly specify profile
as a media type parameter, does that mean that even if "profile" is correct we cannot use it with application/json
? Do we need to specify an application/instance+json
media type in order to add a parameter (whether it is "profile" or not?) Honestly my entire API evolution strategy relies on having schema URIs in a media type parameter so it's a huge problem for me if we can't do this somehow.
The balkanization of IETF standards is immensely frustrating. "Look, here are these two great ideas that do not conflict in any way and perfectly complement each other, but you cannot use them together because the two RFC authors did not coordinate and/or wrote their RFCs at different times!"
Finally:
in my mind, "profile", "type", and "describedBy" are distinct, but i
have heard world views where they are more similar and do have quite
some overlap.
@dret if aspects of this distinction are relevant to JSON Schema and not covered in #26 could you please elaborate?