Tutoriais
Adicionando versionamento a API
Para habilitar versionamento na API, você deve utilizar o método AddVersioning().
O parâmetro configuration deve ser alimentado com o campo _configuration disponível no Startup.
Os parâmetros versioningSetupAction e mvcSetupAction são opcionais, e servem para configurar opções internas da biblioteca aspnet-api-versioning.
Warning
No caso de configurações customizadas, o SDK não aplicará nenhuma configuração nos tipos AspApiVersioningOptions e MvcApiVersioningOptions.
Além de adicionar a biblioteca de versionamento, é necessário anotar todas controllers com as versões suportadas com o atributo ApiVersion.
[ApiVersion(2023.3)]
[ApiVersion(2023.2)]
[ApiVersion(2023.1)]
public class CitiesController: BaseController
{
}
Recuperando informações AmbientData
Todas as informações AmbientData estão centralizadas no serviço IAmbientData.
Declare uma variável do tipo IAmbientData
private readonly IAmbientData _ambientData;
E injete no seu construtor.
Utilize as seguintes funções para recuperar o dado
AmbientData |
Função |
|---|---|
TenantId |
GetTenantId() |
UserId |
GetUserId() |
CompanyId |
GetCompanyId() |
EnvironmentId |
GetEnvironmentIdOrThrow() |
LegacyCompanyId |
GetLegacyCompanyId() |
NotificationUpdateId |
GetNotificationUpdateId() |
ApiVersion |
GetApiVersion() |
Adicionando AutoMapper em testes unitários
Declare a função AddServices na sua classe de teste unitário e faça uma chamada para AddAutoMapper.
protected override void AddServices()
{
ServiceCollection.AddAutoMapper();
base.AddServices();
}
O parâmetro assembliesToAdd é opcional porém recomendado. Nele você deverá passar em qual(is) assembly estão os Profiles do AutoMapper
protected override void AddServices()
{
ServiceCollection.AddAutoMapper(new[] { typeof(CityMapperProfile).Assembly });
base.AddServices();
}
Para utilizar uma instância de IMapper, utilize o método GetService do ServiceProvider
var mapper = ServiceProvider.GetService<IMapper>();
Aumentando o tempo de timeout de queries
Para aumentar o timeout de timeout das queries do EF Core, adicione a propriedade DbContextOptions:CommandTimeout ao Consul. Essa configuração é expressa em segundos, e seu valor padrão quando não informado é 30.
"DbContextOptions": {
"CommandTimeout": 10
}
Habilitando log de parâmetros de queries
Para habilitar o log de parâmetros de queries do EF Core, adicione a propriedade DbContextOptions:EnableSensitiveDataLogging ao Consul. Seu valor padrão quando não informado é false.
"DbContextOptions": {
"EnableSensitiveDataLogging": true
}
Habilitando log detalhado de erros do EF Core
Para habilitar o log detalhados de erros do EF Core, adicione a propriedade DbContextOptions:EnableDetailedErrors ao Consul. Seu valor padrão quando não informado é false.
"DbContextOptions": {
"EnableDetailedErrors": true
}
Configurando o grau máximo de paralelismo no ServiceBus
Para configurar o grau máximo de paralelismo no ServiceBus, adicione a propriedade ServiceBus:MaxParallelism ao Consul. Seu valor padrão quando não informado é 5.
"ServiceBus": {
"MaxParallelism": 3
}
Configurando o número de threads no ServiceBus
Para configurar o número de threads no ServiceBus, adicione a propriedade ServiceBus:NumberOfWorkers ao Consul. Seu valor padrão quando não informado é 1.
"ServiceBus": {
"NumberOfWorkers": 1
}
Configurando o número máximo de tentativas para mensagens que falham no ServiceBus
Para configurar o número máximo de tentativas para mensagens que falham no ServiceBus, adicione a propriedade ServiceBus:MaxDeliveryAttempts ao Consul. Seu valor padrão quando não informado é 3.
"ServiceBus": {
"MaxDeliveryAttempts": 7
}
Configurando o PrefetchSize no ServiceBus
Para configurar o PrefetchSize no ServiceBus, adicione a propriedade ServiceBus:PrefetchSize ao Consul. Seu valor padrão quando não informado é 50.
"ServiceBus": {
"Transport": {
"PrefetchSize": 100
}
}