You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
bugfix Constraint AASa-004 und editorial changes (#430)
* remove security link: chapter was removed
* fix link to modifier constraint
make consistent Content="xx" and not Content=xxx + Capitalb letter (small letter in http-REST)
* bugfix: it is SubmodelRepositoryServiceSpecification/SSP-004
Constraint fixed
links added to constraints
minor editorial changes
* add links to submodel repository service
* add links
* add links
* add content
* add links + fix underline
* bufix Constraint AASa-003 is also about submodel repository
+ bufix profile identifier
* missing comma
---------
Co-authored-by: Sebastian Bader <s.bader@sap.com>
Copy file name to clipboardExpand all lines: documentation/IDTA-01002-3/modules/ROOT/pages/http-rest-api/http-rest-api.adoc
+12-11Lines changed: 12 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -61,15 +61,16 @@ The following design decisions and constraints hold for the HTTP/REST API:
61
61
This leads to the constraint that one operation can only provide one type of a resulting payload.
62
62
* This document assumes version 1.1 of HTTP.
63
63
* An endpoint of the HTTP/REST API shall always use HTTPS (Port 443) with an up-to-date level of encryption.
64
-
* The SerializationModifier "content" changes the type the of payload for inputs or results.
65
-
To ensure type-safe APIs, this parameter is mapped to the path suffixes "/$value", "/$metadata", "/$reference", and "/$path". "content=Normal" is mapped to the path without any "/$<content>" suffix.
64
+
* The SerializationModifier xref:specification/interfaces-operation-parameters.adoc#enumeration-content["Content"] changes the type the of payload for inputs or results.
65
+
To ensure type-safe APIs, this parameter is mapped to the path suffixes "/$value", "/$metadata", "/$reference", and "/$path". Content="Normal" is mapped to the path without any "/$<content>" suffix.
66
66
* Generic SerializationModifiers changing the size of payload for input or result have been mapped to corresponding query parameters, e.g. "?level=" or "?extent=".
67
67
* Query parameters are also used when the type of a resulting payload is a list of objects and the type remains the same, while the query parameter filters the content of the list, e.g. GetAllSubmodels with optional query parameters "?semanticId=" or "?idShort=".
68
68
* Complete objects are provided as requested payloads, e.g. a complete submodel.
69
-
This corresponds to the generic SerializationModifier content="Normal".
69
+
This corresponds to the generic SerializationModifier Content="Normal".
70
70
Reduced objects can be requested by the path suffix "/$<content>".
71
-
// Previously pointing to Clause 12.5
71
+
72
72
See xref:bibliography.adoc#bib1[[1]] for further details.
73
+
73
74
Exceptions to this rule are API Operations requiring pagination and error cases.
74
75
* By default, blobs are not part of the payload.
75
76
Using ?extent=WithBLOBValue includes blobs for submodel elements of kind BLOB.
@@ -338,26 +339,26 @@ Additional classes needed for payload of the HTTP/REST API specification can be
338
339
== Modifier Constraints
339
340
340
341
341
-
To use link:https://admin-shell-io.github.io/aas-specs-antora/IDTA-01001/v3.1/mappings/mappings.html#_format_metadata_metadata_serialization[metadata objects] as described in xref:bibliography.adoc#bib1[[1]], xref:specifiction/interfaces-operation-parameters.adoc[modifiers] are implemented as HTTP query parameters or path suffixes.
342
+
To use link:https://admin-shell-io.github.io/aas-specs-antora/IDTA-01001/v3.1/mappings/mappings.html#_format_metadata_metadata_serialization[metadata objects] as described in xref:bibliography.adoc#bib1[[1]], xref:specification/interfaces-operation-parameters.adoc[modifiers] are implemented as HTTP query parameters or path suffixes.
342
343
For example, a request for a specific submodel may look like: +
343
-
GET /submodel/$value?level=deep&extent=withBlobValue
344
+
GET /submodel/$value?level=deep&extent="withBlobValue"
344
345
345
346
The following constraints apply for the combination of modifiers:
346
347
347
-
* For Content=Value, the requested object shall always be serialized to an unnamed JSON Object or Array.
348
+
* For Content="Value", the requested object shall always be serialized to an unnamed JSON Object or Array.
348
349
This means that the response object must not have a property with the object’s idShort at the root level.
349
-
* If Level=Core and Content=Value, only the requested object and the direct children without their value (empty value) will be returned in value serialization.
350
+
* If Level="Core" and Content="Value", only the requested object and the direct children without their value (empty value) will be returned in value serialization.
350
351
If a direct child is a SubmodelElementCollection, "<SubmodelElementCollection/idShort>": `{}` will be returned.
351
352
If a direct child is a SubmodelElementList, "<SubmodelElementList/idShort>": `[]` will be returned.
352
-
* The combination of Content=Metadata and Extent=WithBLOBValue is not allowed.
353
+
* The combination of Content="Metadata" and Extent="WithBLOBValue" is not allowed.
353
354
* If parameter Content is set to "Metadata" then Level shall not be used.
354
355
A server shall respond with a ClientErrorBadRequest in this case.
355
-
* The combination of Level=Deep and Content=Reference is not allowed.
356
+
* The combination of Level="Deep" and Content="Reference" is not allowed.
356
357
* Modifiers cannot be used for POST operations.
357
358
358
359
In addition, the modifiers can also be used for PUT operations.
359
360
They define how the request content is delivered and have the same semantics as in the related GET operation.
360
-
Only Content=Reference and Content=Path are not possible for PUT.
361
+
Only Content="Reference" and Content="Path" are not possible for PUT.
361
362
362
363
====
363
364
Note: Although metadata and value-only representations of Asset Administration Shells are possible, they are not supported up to now.
0 commit comments