API-WEB Service
A gateway offering a labels layer in order to allow for multi-language applications, offering standard forms used to display object metadata in an appropriate manner - and offering functionality to cope with user settings and associated issues.
Characteristics
Service Name | apiweb |
---|---|
Port Range | 7550 |
Profiles | prod,docker,kubernetes |
Helm Chart | client |
Public API | Web-API Gateway Endpoints |
Function
The web-API gateway (API-WEB) service is beside the USERSERVICE and the Viewer Service the main service for yuuvis® client as reference implementation. First of all, the service allows configuring the labels of object types and field names that should be shown to the users depending on the language the user has set in the client. The second feature is to deliver standard forms for each object type and for the situations CREATE and EDIT, and maybe for SEARCH if necessary later on.
Currently, the API-WEB (web-api gateway) service offers several endpoints for storing this JSON-formatted data. We offer a Swagger UI for developers with information on the URLs for the endpoints of GET, POST, PATCH or DELETE calls and the possibility to ty out: https://<host>/api-web/swagger-ui.html
Additionally, our ARCHITECT Service provides yuuvis® architect as a tool with graphical user interface supporting you in managing these labels.
>> yuuvis® architect will support you in managing these labels. There is a Swagger-UI where administrators are supported by interfaces to maintain the data manually.
Requirements
>> yuuvis® Momentum Requirements - Web-API Gateway
Configuration
It is possible to specify configuration parameters in a file called api-web-prod.yml
that is located in the Git root directory like the profile-related configuration files used by the core services.
>> Configuring Services using Profiles
The following parameters can be specified:
Parameter | Description | Default | |
---|---|---|---|
csv | Section of parameters for the export of search result lists via the endpoint POST /api-web/api/dms/objects/export. | ||
delimiter | Separator between individual values. | ; | |
encoding | Used encoding. | UTF-8 | |
batchSize | Maximum number of objects to be included in the exported result list. | 100 | |
writeBOM (as of 2023 Spring) | Boolean value that specifies if byte order mark should be used (true ) or not (false ). If true , emojis and German umlauts can be displayed correctly.Note: true is only supported for UTF-8 encoding. | false | |
api-web.technical-roles | Comma-separated list of strings that specify the names of the roles that should be considered as technical roles. As such, they are filtered out, e.g., by the endpoints GET /api-web/api/idm/users and GET /api-web/api/idm/users/{userId}. | YUUVIS_SYSTEM_INTEGRATOR, YUUVIS_TENANT_ADMIN | |
api-web.default-locale | An ISO language code that specifies the default locale for requests to the Web-API gateway. | en | |
api-web.user-label-templates (as of 2023 Spring) | List of templates for creating display name for users instead of user IDs. If you want to avoid the userId to appear in your client application, you can display the value of one or multiple of the following user attributes instead:
Configure a template with comma-separated references on those attributes as shown in the example below. If you list multiple templates, the first one for which all referenced attributes are available will be used. If all configured templates contain at least one attribute for which no value is available for the corresponding user, the default applies. Example configuration: api-web.user-label-templates: - "%{lastname}, %{firstname} (%{username})" - "%{firstname} (%{username})" - "%{lastname} (%{username})" - "%{username}" | corresponding ID value |