Suporte para OpenAPI
Uma das principais novidades no ASP.NET Core 9.0 é o suporte nativo para a geração de documentos OpenAPI. Isso facilita a criação de APIs bem documentadas e compatíveis com ferramentas de geração de clientes e servidores.
Exemplo de uso:
var builder = WebApplication.CreateBuilder();
builder.Services.AddOpenApi();
var app = builder.Build();
app.MapOpenApi();
app.MapGet("/hello/{name}", (string name) => $"Hello {name}!");
app.Run();
Com isso, ao rodar sua aplicação, você pode acessar o documento OpenAPI gerado em openapi/v1.json
.
Melhorias em SignalR
O SignalR no ASP.NET Core 9.0 recebeu suporte para tipos polimórficos nos Hubs, permitindo cenários mais complexos e flexíveis de comunicação em tempo real.
Exemplo de uso:
public class MyHub : Hub
{
public void Method(JsonPerson person)
{
if (person is JsonPersonExtended)
{
// Lógica para JsonPersonExtended
}
else if (person is JsonPersonExtended2)
{
// Lógica para JsonPersonExtended2
}
}
}
[JsonPolymorphic]
[JsonDerivedType(typeof(JsonPersonExtended), nameof(JsonPersonExtended))]
[JsonDerivedType(typeof(JsonPersonExtended2), nameof(JsonPersonExtended2))]
private class JsonPerson
{
public string Name { get; set; }
public Person Child { get; set; }
public Person Parent { get; set; }
}
private class JsonPersonExtended : JsonPerson
{
public int Age { get; set; }
}
private class JsonPersonExtended2 : JsonPerson
{
public string Location { get; set; }
}
Novidades em Minimal APIs
As minimal APIs também foram aprimoradas no ASP.NET Core 9.0, com a adição de novos métodos para facilitar o retorno de respostas HTTP tipadas, como InternalServerError
.
Exemplo de uso:
var app = WebApplication.Create();
app.MapGet("/", () => TypedResults.InternalServerError("Something went wrong!"));
app.Run();
Autenticação e Autorização
O ASP.NET Core 9.0 introduz novas opções de personalização para handlers de OAuth e OIDC, simplificando a adição de parâmetros de autorização adicionais.
Exemplo de uso:
builder.Services.AddAuthentication().AddOpenIdConnect(options =>
{
options.AdditionalAuthorizationParameters.Add("prompt", "login");
options.AdditionalAuthorizationParameters.Add("audience", "https://api.example.com");
});
Conclusão
O ASP.NET Core 9.0 traz uma série de melhorias e novas funcionalidades que tornam o desenvolvimento web mais eficiente e poderoso. Com suporte para OpenAPI, melhorias em SignalR, minimal APIs aprimoradas e novas opções de autenticação e autorização, esta versão oferece muitas ferramentas para desenvolvedores web modernos.
E você, já começou a explorar o ASP.NET Core 9.0? Compartilhe suas experiências nos comentários!
Diogo
Posts relacionados
Assine o boletim informativo
* Você receberá as últimas notícias e atualizações sobre suas celebridades favoritas!