Class HttpHeaderTenantResolver
java.lang.Object
io.micronaut.multitenancy.tenantresolver.HttpHeaderTenantResolver
- All Implemented Interfaces:
HttpRequestTenantResolver,TenantResolver
@Singleton
@Requires(beans=HttpHeaderTenantResolverConfiguration.class) @Requires(property="micronaut.multitenancy.tenantresolver.httpheader.enabled",value="true",defaultValue="false")
public class HttpHeaderTenantResolver
extends Object
implements TenantResolver, HttpRequestTenantResolver
A
TenantResolver that resolves the tenant from the request HTTP Header.- Since:
- 1.0.0
- Author:
- Sergio del Amo
-
Field Summary
FieldsFields inherited from interface io.micronaut.multitenancy.tenantresolver.TenantResolver
ALL, DEFAULT, PREFIX -
Constructor Summary
ConstructorsConstructorDescriptionHttpHeaderTenantResolver(HttpHeaderTenantResolverConfiguration configuration) -
Method Summary
Modifier and TypeMethodDescription@NonNull StringResolves the current tenant identifier.@NonNull StringresolveTenantId(@NonNull io.micronaut.http.HttpRequest<?> request) Resolves the current tenant identifier.@NonNull SerializableDeprecated, for removal: This API element is subject to removal in a future version.resolveTenantIdentifier(@NonNull io.micronaut.http.HttpRequest<?> request) Deprecated, for removal: This API element is subject to removal in a future version.
-
Field Details
-
headerName
The name of the header.
-
-
Constructor Details
-
HttpHeaderTenantResolver
- Parameters:
configuration-HttpHeaderTenantResolverConfigurationconfiguration
-
-
Method Details
-
resolveTenantId
Description copied from interface:TenantResolverResolves the current tenant identifier.
In a Multi Tenant setup where a single database is being used amongst multiple tenants this would be the object that is used as the tenantId property for each domain class.
- Specified by:
resolveTenantIdin interfaceTenantResolver- Returns:
- the tenant ID if resolved.
- Throws:
TenantNotFoundException- if tenant not found
-
resolveTenantId
@NonNull public @NonNull String resolveTenantId(@NonNull @NonNull io.micronaut.http.HttpRequest<?> request) throws TenantNotFoundException Description copied from interface:HttpRequestTenantResolverResolves the current tenant identifier.- Specified by:
resolveTenantIdin interfaceHttpRequestTenantResolver- Parameters:
request- The HTTP request- Returns:
- The tenant identifier
- Throws:
TenantNotFoundException- if tenant not found
-
resolveTenantIdentifier
@Deprecated(forRemoval=true, since="5.5.0") @NonNull public @NonNull Serializable resolveTenantIdentifier() throws TenantNotFoundExceptionDeprecated, for removal: This API element is subject to removal in a future version.UseresolveTenantId()insteadDescription copied from interface:TenantResolverResolves the current tenant identifier.
In a Multi Tenant setup where a single database is being used amongst multiple tenants this would be the object that is used as the tenantId property for each domain class.
- Specified by:
resolveTenantIdentifierin interfaceTenantResolver- Returns:
- the tenant ID if resolved.
- Throws:
TenantNotFoundException- if tenant not found
-
resolveTenantIdentifier
@Deprecated(forRemoval=true, since="5.5.0") public Serializable resolveTenantIdentifier(@NonNull @NonNull io.micronaut.http.HttpRequest<?> request) throws TenantNotFoundException Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:HttpRequestTenantResolverResolves the current tenant identifier.- Specified by:
resolveTenantIdentifierin interfaceHttpRequestTenantResolver- Parameters:
request- The HTTP request- Returns:
- The tenant identifier
- Throws:
TenantNotFoundException- if tenant not found
-
resolveTenantId()instead