Section 15.3 |
type control information, if present, must come immediately after removed |
|
@@ -778,7 +783,7 @@
The etag
control information MAY be applied to an entity or collection in a response. The value of the control information is an entity tag (ETag) which is an opaque string value that can be used in a subsequent request to determine if the value of the entity or collection has changed.
-For details on how ETags are used, see OData-Protocol, section 11.4.1.1. The special value "@etag": ""
is equivalent to the header If-None-Match: *
, see OData-Protocol, section 11.4.12.
+For details on how ETags are used, see OData-Protocol, section 11.4.1.1. The special value "@etag": "*"
is equivalent to the header If-Match: *
, and the special value "@etag": ""
is equivalent to the header If-None-Match: *
, see OData-Protocol, section 11.4.12.
The etag
control information is ignored in request payloads for single entities and not written in responses if metadata=none
is requested.
diff --git a/docs/odata-json-format/odata-json-format.md b/docs/odata-json-format/odata-json-format.md
index dc88008f..5e0dd114 100644
--- a/docs/odata-json-format/odata-json-format.md
+++ b/docs/odata-json-format/odata-json-format.md
@@ -218,6 +218,7 @@ Section | Feature / Change | Issue
--------|------------------|------
[Section 4.6.1](#ControlInformationcontextodatacontext)| Fragment portion of Context URL is not percent-encoded| [368](https://github.com/oasis-tcs/odata-specs/issues/368)
[Section 4.6.8](#ControlInformationidodataid)| Transient entities can be identifiable| [1928](https://github.com/oasis-tcs/odata-specs/issues/1928)
+[Section 4.6.10](#ControlInformationetagodataetag)| Control information `"@etag": ""` to prevent updates| [2021](https://github.com/oasis-tcs/odata-specs/issues/2021)
[Section 4.6.12](#ControlInformationmediaodatamedia)| `mediaContentType` can be `null`| [536](https://github.com/oasis-tcs/odata-specs/issues/536)
[Section 7](#StructuralProperty), [Section A.2](#InformativeReferences)| Removed reference to obsolete version of GeoJSON| [456](https://github.com/oasis-tcs/odata-specs/issues/456)
[Section 15.3](#DeletedEntity) | `type` control information, if present, must come immediately after `removed` |
@@ -1047,7 +1048,8 @@ opaque string value that can be used in a subsequent request to
determine if the value of the entity or collection has changed.
For details on how ETags are used, see [OData-Protocol, section 11.4.1.1](https://docs.oasis-open.org/odata/odata/v4.02/odata-v4.02-part1-protocol.html#UseofETagsforAvoidingUpdateConflicts).
-The special value `"@etag": ""` is equivalent to the header `If-None-Match: *`,
+The special value `"@etag": "*"` is equivalent to the header `If-Match: *`,
+and the special value `"@etag": ""` is equivalent to the header `If-None-Match: *`,
see [OData-Protocol, section 11.4.12](https://docs.oasis-open.org/odata/odata/v4.02/odata-v4.02-part1-protocol.html#UpdateaCollectionofEntities).
The `etag` control information is ignored in request payloads for
diff --git a/odata-json-format/1 Introduction.md b/odata-json-format/1 Introduction.md
index 9d8e31c5..fdaa5e3c 100644
--- a/odata-json-format/1 Introduction.md
+++ b/odata-json-format/1 Introduction.md
@@ -27,6 +27,9 @@ Fragment portion of Context URL is not percent-encoded|
[Section ##ControlInformationidodataid]|
Transient entities can be identifiable|
[1928](https://github.com/oasis-tcs/odata-specs/issues/1928)
+[Section ##ControlInformationetagodataetag]|
+Control information `"@etag": ""` to prevent updates|
+[2021](https://github.com/oasis-tcs/odata-specs/issues/2021)
[Section ##ControlInformationmediaodatamedia]|
`mediaContentType` can be `null`|
[536](https://github.com/oasis-tcs/odata-specs/issues/536)
diff --git a/odata-json-format/4 Common Characteristics.md b/odata-json-format/4 Common Characteristics.md
index 5ec11f9a..268816ac 100644
--- a/odata-json-format/4 Common Characteristics.md
+++ b/odata-json-format/4 Common Characteristics.md
@@ -499,7 +499,8 @@ opaque string value that can be used in a subsequent request to
determine if the value of the entity or collection has changed.
For details on how ETags are used, see [#OData-Protocol#UseofETagsforAvoidingUpdateConflicts].
-The special value `"@etag": ""` is equivalent to the header `If-None-Match: *`,
+The special value `"@etag": "*"` is equivalent to the header `If-Match: *`,
+and the special value `"@etag": ""` is equivalent to the header `If-None-Match: *`,
see [#OData-Protocol#UpdateaCollectionofEntities].
The `etag` control information is ignored in request payloads for