Skip to content

Latest commit

 

History

History
103 lines (77 loc) · 6.38 KB

http_endpoint.md

File metadata and controls

103 lines (77 loc) · 6.38 KB

HTTP Endpoint

The HTTP Endpoint allows accessing data and execute operations within the FA³ST Service via REST-API. The HTTP Endpoint is based on the document Details of the Asset Administration Shell - Part 2, Interoperability at Runtime – Exchanging Information via Application Programming Interfaces (Version 1.0RC02)' , November 2021 and the OpenAPI documentation DotAAS Part 2 | HTTP/REST | Entire Interface Collection, Apr, 26th 2022

For detailed information on the REST API see DotAAS Part 2 | HTTP/REST | Entire Interface Collection, Apr, 26th 2022

In order to use the HTTP Endpoint the configuration settings require to include an HTTP Endpoint configuration, like the one below:

{
	"endpoints": [
		{
			"@class": "de.fraunhofer.iosb.ilt.faaast.service.endpoint.http.HttpEndpoint",
			"port": 8080
		}
	]
}

API

Supported API calls

  • Asset Administration Shell Repository Interface

    • /shells GET POST
    • /shells/{aasIdentifier} GET PUT DELETE
  • Asset Administration Shell Interface

    • /shells/{aasIdentifier}/aas GET PUT
    • /shells/{aasIdentifier}/aas/asset-information GET PUT
    • /shells/{aasIdentifier}/aas/submodels GET POST
    • /shells/{aasIdentifier}/aas/submodels/{submodelIdentifier} DELETE
  • Submodel Repository Interface

    • /submodels GET POST
    • /submodels/{submodelIdentifier} GET PUT DELETE
  • Submodel Interface

    • /submodels/{submodelIdentifier}/submodel GET PUT
    • /submodels/{submodelIdentifier}/submodel/submodel-elements GET POST
    • /submodels/{submodelIdentifier}/submodel/submodel-elements/{idShortPath} GET POST PUT DELETE
    • /submodels/{submodelIdentifier}/submodel/submodel-elements/{idShortPath}/invoke POST
    • /submodels/{submodelIdentifier}/submodel/submodel-elements/{idShortPath}/operation-results/{handle-Id} GET
  • Submodel Interface (combined with Asset Administration Shell Interface)

    • /shells/{aasIdentifier}/aas/submodels/{submodelIdentifier}/submodel GET PUT
    • /shells/{aasIdentifier}/aas/submodels/{submodelIdentifier}/submodel/submodel-elements GET POST
    • /shells/{aasIdentifier}/aas/submodels/{submodelIdentifier}/submodel/submodel-elements/{idShortPath} GET POST, PUT, DELETE
    • /shells/{aasIdentifier}/aas/submodels/{submodelIdentifier}/submodel/submodel-elements/{idShortPath}/invoke POST
    • /shells/{aasIdentifier}/aas/submodels/{submodelIdentifier}/submodel/submodel-elements/{idShortPath}/operation-results/{handle-Id} GET
  • Concept Description Repository Interface

    • /concept-descriptions GET POST
    • /concept-descriptions/{cdIdentifier} GET PUT DELETE
  • Asset Administration Shell Basic Discovery

    • /lookup/shells GET
    • /lookup/shells/{aasIdentifier} GET POST DELETE
  • Asset Administration Shell Serialization Interface

    • /serialization GET

Optional query parameters

  • level=deep|core
  • content=normal|value|path
  • extent=WithoutBLOBValue/WithBLOBValue
  • InvokeOperation supports async=true/false

They are added to the URL as regular query params

http://url:port?level=deep&content=value

FA³ST Service currently supports only content=value and content=normal

Unsupported API calls

  • Asset Administration Shell Registry Interface (out-of-scope)
  • Submodel Registry Interface (out-of-scope)
  • AASX File Server Interface (probably supported in future)
    • /packages
    • /packages/{packageId}

Example

Sample HTTP Call for Operation GetSubmodelElementByPath using the parameters

using the query-parameters level=deep and content=normal.

To avoid problems with IRIs in URLs the identifiers shall be BASE64-URL-encoded before using them as parameters in the HTTP APIs. IdshortPaths are URL-encoded to handle including square brackets.

http://localhost:8080/submodels/aHR0cHM6Ly9hY3BsdC5vcmcvVGVzdF9TdWJtb2RlbA==/submodel/submodel-elements/ExampleRelationshipElement?level=deep&content=normal