Свойства REST

Свойства Jmix REST позволяют настраивать различные аспекты поведения конечных точек универсального REST.

Entities API

jmix.rest.default-max-fetch-size

Определяет максимальное количество экземпляров сущностей, возвращаемых API по умолчанию.

Значение по умолчанию: 10000

jmix.rest.entity-max-fetch-size

Определяет максимальное количество экземпляров сущности, возвращаемых API для конкретной сущности по умолчанию.

В следующем примере настраивается значение entityMaxFetchSize для двух сущностей. Для всех остальных сущностей используется значение из jmix.rest.default-max-fetch-size.

jmix.rest.entity-max-fetch-size.sample_Product = 500
jmix.rest.entity-max-fetch-size.sample_Customer = 1000

jmix.rest.json-transformation-config

Определяет файл, содержащий список конфигураций преобразований JSON, которые использует REST API, когда клиенту нужны данные в формате определенной версии модели данных.

Файл загружается с помощью интерфейса Resources, поэтому он может находиться в пути к классам или в каталоге конфигурации.

Значение по умолчанию: none

jmix.rest.max-upload-size

Определяет максимальный размер файла (в байтах), который можно загрузить с помощью REST API.

Файл загружается с помощью интерфейса Resources, поэтому он может находиться в пути к классам или в каталоге конфигурации.

Значение по умолчанию: 20971520 (20 Mb)

jmix.rest.optimistic-locking-enabled

Включает оптимистическую блокировку сущностей, если атрибут версии указан в JSON.

Значение по умолчанию: false

jmix.rest.queries-config

Определяет файл, содержащий список запросов JPQL, доступных как часть Entities API.

jmix.rest.queries-config = rest/sample/rest-queries.xml

Файл загружается с помощью интерфейса Resources, поэтому он может находиться в пути к классам или в каталоге конфигурации.

Значение по умолчанию: none

jmix.rest.services-config

Определяет файл, содержащий список методов сервиса, предоставляемых через Services API.

jmix.rest.services-config = rest/sample/rest-services.xml

Файл загружается с помощью интерфейса Resources, поэтому он может находиться в пути к классам или в каталоге конфигурации.

Значение по умолчанию: none

jmix.rest.response-fetch-plan-enabled

Если установлено значение true, параметр responseFetchPlan с именем фетч-плана может передаваться в запросах на создание и обновление. В этом случае созданная/обновленная сущность перезагружается с указанным фетч-планом и возвращается как часть ответа JSON.

Если установлено значение false, ответ содержит JSON с минимальным представлением созданной/обновленной сущности.

Значение по умолчанию: true

Безопасность

jmix.rest.anonymous-url-patterns

Определяет разделенный запятыми список шаблонов URL, для которых должен быть разрешен анонимный доступ.

Значение по умолчанию: none

jmix.rest.authenticated-url-patterns

Определяет разделенный запятыми список шаблонов URL-адресов пользовательских контроллеров, для которых требуется стандартная проверка аутентификации OAuth2.

Значение по умолчанию: none

jmix.security.oauth2.client-id

Определяет идентификатор клиента REST API. В этом случае клиент — это не пользователь платформы, а приложение (какой-либо веб-портал или мобильное приложение), использующее REST API. Учетные данные клиента используются для стандартной проверки аутентификации при доступе к операции токена REST API.

Значение по умолчанию: client

Это значение должно быть изменено на случайную, длинную и неугадываемую строку для конкретного приложения.

jmix.security.oauth2.client-secret

Определяет секрет для клиента REST API. В этом случае клиент — это не пользователь платформы, а приложение (какой-либо веб-портал или мобильное приложение), использующее REST API. Учетные данные клиента используются для стандартной проверки аутентификации при доступе к операции токена REST API.

Значение свойства в дополнение к фактическому значению пароля (например, secret) должно содержать идентификатор Password Encoder (например, {noop}). Дополнительную информацию о механизме Password Encoder можно найти в документации Spring Security.

Когда запрос на получение токена отправляется на проверку аутентификации, идентификатор Password Encoder не должен быть частью значения запроса. Только secret является частью запроса.

Значение по умолчанию: {noop}secret

Это значение должно быть изменено на случайную, длинную и неугадываемую строку для конкретного приложения.

jmix.security.oauth2.client-authorized-grant-types

Определяет разрешенные типы грантов.

Значение по умолчанию: password,external,refresh_token

jmix.security.oauth2.client-token-expiration-time-sec

Определяет время истечения срока действия токена доступа в секундах.

Значение по умолчанию: 43200 (12 часов)

jmix.security.oauth2.client-refresh-token-expiration-time-sec

Определяет время истечения срока действия токена обновления в секундах.

Значение по умолчанию: 31536000 (365 часов)

jmix.security.oauth2.dev-mode

Режим разработки позволяет использовать REST API без токена аутентификации. Пользователь по умолчанию, который используется для всех вызовов REST API в режиме разработки, указан в свойстве jmix.security.oauth2.dev-username.

Значение по умолчанию: false

jmix.security.oauth2.dev-username

Определяет имя пользователя, которое используется для режима разработки. См. jmix.security.oauth2.dev-mode.

jmix.security.oauth2.token-masking-enabled

Если значение true, токены маскируются в журналах приложений.

Значение по умолчанию: true

jmix.security.oauth2.reuse-refresh-token

Определяет, следует ли повторно использовать токены обновления до истечения срока их действия.

Значение по умолчанию: true

jmix.security.oauth2.support-refresh-token

Определяет, следует ли поддерживать токены обновления.

Значение по умолчанию: true