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 Nameapiweb
Port Range7550
Profilesprod,docker,kubernetes
Helm Chartclient
Public APIWeb-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.

>> Web-API Gateway (API-WEB)

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

>> Web-API Gateway Endpoints

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:

ParameterDescriptionDefault
csvSection of parameters for the export of search result lists via the endpoint POST /api-web/api/dms/objects/export.

delimiterSeparator between individual values.;

encodingUsed encoding.UTF-8

batchSizeMaximum 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-localeAn 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:

  • id
  • email
  • username
  • firstname
  • lastname

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