AspNet6InDepth
1.0.0
Visão geral do ASP.NET 6
Fundamentos do ASP.NET 6
Program.csIMiddlewareRequestDelegateapp.Use , app.Map , app.MapWhen , app.UseWhen e app.Runapp.UseStaticFiles();app.UseCors();ProblemDetailsappsettings.{environment}.json e da interface IConfigurationIOptions<T>IOptionsSnapshot<T> ou IOptionsMonitor<T>HttpContext , HttpContext.Request e HttpContext.ResponseRouteHttpGetAttribute , HttpPostAttribute , HttpPutAttribute , HttpPatchAttribute e HttpDeleteAttributeFromQuery : obtém valores da string de consultaFromRoute : obtém valores dos dados da rotaFromForm : Obtém valores de campos de formulário postadosFromBody : Obtém valores do corpo da solicitaçãoFromHeader : obtém valores de cabeçalhos HTTPIActionResult<T> ou ActionResult<T>AcceptAccept estiver definido como application/xmlAccept estiver definido como application/jsonHTTP PatchCompare : valida se duas propriedades em um modelo correspondem.EmailAddress : Valide se uma propriedade possui formato de email.Phone : Valide se um imóvel possui formato de número de telefone.Range : valide se o valor de uma propriedade estiver dentro de um intervalo especificado.RegularExpression : valida se um valor de propriedade corresponde a uma expressão regular especificada.Required : valide se um campo não for nulo.StringLength : valida se o valor de uma propriedade de string não excede um limite de comprimento especificado.Url : Valide se uma propriedade possui formato de URL.IHttpClientFactory.CreateClient();gzipAspNetCoreRateLimit com provedor de memória.AspNetCoreRateLimit e AspNetCoreRateLimit.Redis com o provedor Azure Cache para Redis.ILogger<T>logger.LogTracelogger.LogDebug mensagens de nível de depuração de loglogger.LogInformation mensagens de nível de informações de loglogger.Warning mensagens de nível de aviso de loglogger.Error mensagens de nível de erro de loglogger.Critical log mensagens de nível críticoAzure AppInsightsIHostedServiceBackgroundServiceSwashbuckle.AspNetCore para adicionar suporte Swagger OpenAPIswagger.json no nível raizAcesso a dados no aplicativo API ASP.NET 6
Acesso a dados usando Micro ORM Dapper e PostgreSQL
/api/Persons?page=1&limit=10/api/Persons?searchAfter=4499b79a-c710-45e4-ba87-083d22c4d6ad_2023-04-17T12:00:25&limit=10/api/Persons/b1333cad-9d7c-4a64-8823-db8c9aa55646/api/Persons/api/Persons/b1333cad-9d7c-4a64-8823-db8c9aa55646/api/Persons/b1333cad-9d7c-4a64-8823-db8c9aa55646Acesso a dados usando EF Core 6 ORM e PostgreSQL
DbSet<T> às tabelas de modelo no banco de dadosDbContextidempotent/api/Employees?page=1&limit=10/api/Employees?searchAfter=4499b79a-c710-45e4-ba87-083d22c4d6ad_2023-04-17T12:00:25&limit=10/api/Employees/b1333cad-9d7c-4a64-8823-db8c9aa55646/api/Employees/api/Employees/b1333cad-9d7c-4a64-8823-db8c9aa55646/api/Employees/b1333cad-9d7c-4a64-8823-db8c9aa55646Cache de resposta no aplicativo API ASP.NET 6
IMemoryCacheStackExchange.RedisSegurança no aplicativo API ASP.NET 6
Adicionar autenticação
Claim , ClaimsIdentity e ClaimsPrincipalBCrypt.Net-NextSystem.IdentityModel.Tokens.Jwt/api/Account/Register para registrar o usuário/api/Account/Login para fazer login do usuário e gerar o conjunto inicial de token de acesso e token de atualização/api/Account/Token para atualizar o token de acesso usando o token de atualização enviado/api/Account/Revoke para revogar o token de atualizaçãoAdicionar autorização
IAuthorizationRequirementHandleRequirementAsync para criar um requisito de política personalizadoProgram.csEstudo de caso: Adicionar autenticação JWT e autorização de função usando Auth0
Tratamento de uploads e downloads de arquivos
wwwroot folder.xlsx do Excel para respostaTeste
Teste de unidade
xUnit.net[Fact] e [Theory]Dispose[InlineData][MemberData][ClassData]IClassFixtureICollectionFixtureMoqVerify() ou VerifyAll()Teste de Integração
WebApplicationFactory<TStartup>xUnit.netComunicação síncrona entre serviços usando gRPC e HTTP2
Comunicação assíncrona entre serviços usando filas de mensagens
Hospedando aplicativo API ASP.NET 6