Skip to content

Commit 823acc5

Browse files
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>
1 parent d95fdab commit 823acc5

File tree

5 files changed

+95
-68
lines changed

5 files changed

+95
-68
lines changed

documentation/IDTA-01002-3/modules/ROOT/pages/http-rest-api/http-rest-api.adoc

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -61,15 +61,16 @@ The following design decisions and constraints hold for the HTTP/REST API:
6161
This leads to the constraint that one operation can only provide one type of a resulting payload.
6262
* This document assumes version 1.1 of HTTP.
6363
* 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.
6666
* Generic SerializationModifiers changing the size of payload for input or result have been mapped to corresponding query parameters, e.g. "?level=" or "?extent=".
6767
* 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=".
6868
* 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".
7070
Reduced objects can be requested by the path suffix "/$<content>".
71-
// Previously pointing to Clause 12.5
71+
7272
See xref:bibliography.adoc#bib1[[1]] for further details.
73+
7374
Exceptions to this rule are API Operations requiring pagination and error cases.
7475
* By default, blobs are not part of the payload.
7576
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
338339
== Modifier Constraints
339340

340341

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.
342343
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"
344345

345346
The following constraints apply for the combination of modifiers:
346347

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.
348349
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.
350351
If a direct child is a SubmodelElementCollection, "<SubmodelElementCollection/idShort>": `{}` will be returned.
351352
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.
353354
* If parameter Content is set to "Metadata" then Level shall not be used.
354355
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.
356357
* Modifiers cannot be used for POST operations.
357358

358359
In addition, the modifiers can also be used for PUT operations.
359360
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.
361362

362363
====
363364
Note: Although metadata and value-only representations of Asset Administration Shells are possible, they are not supported up to now.

0 commit comments

Comments
 (0)