Clarify which OData-Version a service should return

    • Type: Improvement
    • Resolution: Fixed
    • Priority: Minor
    • V4.01_CS02
    • Affects Version/s: V4.01_CS01
    • Component/s: Protocol
    • None
    • Environment:

      Applied

    • Hide

      The service MUST respond with a payload compliant with the greatest supported version of the protocol that is less than or equal to the request's OData-MaxVersion, if specified.

      The same request should return the same response, so in the absence of an odata-maxversion header, the service should return the same payload over time. "If OData-MaxVersion is not specified, then the service SHOULD interpret the request as having an OData-MaxVersion equal to the initial default version produced by the service".

      Client is allowed to use 4.01 without specifying an OData-Version or OData-MaxVersion of 4.01. If a request has a payload, a compliant client MUST specify the OData-Version of the request body.

      If the client inspects the metadata to determine the service supports 4.01, and requests a maxversion of 4.01, the proposed general rule requires that the service return 4.01 (we can introduce a min version in the future, if required).

      Request and response payloads are independent. The service must honor OData-MaxVersion in a response regardless of the version of the request payload.

      CLARIFICATION FROM 2018-5-4: Regarding "initial default version"; our intention was that the behavior of the service did not change over time with respect to a client that does not specify an OData-MaxVersion header.

      Show
      The service MUST respond with a payload compliant with the greatest supported version of the protocol that is less than or equal to the request's OData-MaxVersion, if specified. The same request should return the same response, so in the absence of an odata-maxversion header, the service should return the same payload over time. "If OData-MaxVersion is not specified, then the service SHOULD interpret the request as having an OData-MaxVersion equal to the initial default version produced by the service". Client is allowed to use 4.01 without specifying an OData-Version or OData-MaxVersion of 4.01. If a request has a payload, a compliant client MUST specify the OData-Version of the request body. If the client inspects the metadata to determine the service supports 4.01, and requests a maxversion of 4.01, the proposed general rule requires that the service return 4.01 (we can introduce a min version in the future, if required). Request and response payloads are independent. The service must honor OData-MaxVersion in a response regardless of the version of the request payload. CLARIFICATION FROM 2018-5-4: Regarding "initial default version"; our intention was that the behavior of the service did not change over time with respect to a client that does not specify an OData-MaxVersion header.
    • Show
      https://www.oasis-open.org/committees/download.php/64119/odata-v4.01-wd06-part1-protocol-2018-10-19.docx  

      Which OData-Version should a server respond if the client specifies a OData-MaxVersion of 4.01 and the service supports both 4.0 and 4.01?

            Assignee:
            Unassigned
            Reporter:
            handl
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: