我开始使用dotnet,我立即遇到了这个问题.我做了一个简单的控制器whit一个GET应该返回一个字符串.然而,每一次它只是抛出一个404.我已经重写了这个idk多少次,在这一点上,仍然是相同的结果.似乎dotnet甚至不承认或注册我的类作为一个控制器.
下面是默认的VS项目提供的示例控制器,它的工作原理就像黄油一样:
using Microsoft.AspNetCore.Mvc;
namespace RPG.Controllers
{
[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
{
private static readonly string[] Summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" };
[HttpGet]
public IEnumerable<WeatherForecast> Get()
{
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
{
Date = DateTime.Now.AddDays(index),
TemperatureC = Random.Shared.Next(-20, 55),
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
})
.ToArray();
}
}
}
这是我的控制器不工作:
using Microsoft.AspNetCore.Mvc;
namespace RPG.Controllers
{
[ApiController]
[Route("dungeon")]
public class DungeonController : ControllerBase {
[HttpGet]
public IEnumerable<string> Get() {
string[] a = { "spider" };
return a;
}
}
}
这是我的Program.cs
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
var app = builder.Build();
if (!app.Environment.IsDevelopment()) {
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.MapControllers();
app.Run();
当我使用dotnet CLI时,同样的事情也起作用。有什么区别??
1条答案
按热度按时间tp5buhyn1#
前端上的代理配置设置不正确。