Código Central – Blog
DOTNET9

Novidades no ASP.NET Core 9.0

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!

Posts relacionados

.NET 9 e Inteligência Artificial: Novas Possibilidades

Diogo
3 meses atrás

Novidades do .NET 9: O que Esperar?

Diogo
3 meses atrás

Novidades nas Bibliotecas do .NET 9

Diogo
3 meses atrás
Sair da versão mobile