Controllers no .net8
Olá, pessoal,
Quando assistindo à aula de API do curso de Full Stack, percebi que o professor usa a versão .net 6.
Na versão do .net 8, não temos a pasta Controllers com a class WeatherForecastController.
Desse modo, passei um tempo estudando e pesquisei por aqui e o que consegui como solução foi o seguinte:
- Criar uma pasta com o nome Controllers.
- Dentro dessa pasta, seguir todas as instruções do professor do nosso curso para a criação da class Usuario.Controller. A minha ficou assim:
using Microsoft.AspNetCore.Mvc;
namespace módulo_api.Controllers
{
[ApiController]
[Route("módulo-api/controller")]
public class UsuarioController : ControllerBase
{
[HttpGet("ObterDataHoraAtual")]
public IActionResult ObterDataHotaAtual()
{
var obj = new
{
Data = DateTime.Now.ToLongDateString(),
Hora = DateTime.Now.ToShortTimeString()
};
return Ok(obj);
}
}
}
- No arquivo Program.cs é necessário adicionar a seguinte builder:
>>>>>>> builder.Services.AddControllers(); <<<<<<<<
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
- Ainda em Program.cs antes adicionei o seguinte comando:
>>>>>>>>> app.MapControllers(); <<<<<<<<<<<<<<<<
app.Run();
- Em seguida é só executar no terminal:
>>>>>> dotnet watch run <<<<<<<
E pronto, temos o Controller rodando corretamente na API o Swagger.
Espero ter ajudado! :) Passei um tempinho atrás de uma solução para isso, mas o importante é que agora consigo avançar no curso e ainda usando a versão atual do .net!