gpt4 book ai didi

c# - 使用 ASP.NET Core 路由时本地主机 404

转载 作者:行者123 更新时间:2023-11-30 21:34:59 25 4
gpt4 key购买 nike

每当我向我的 Controller 添加任何类型的路由时,每个请求都以 404 结束。当没有 [Route] 时应用程序正常工作,但当我添加它时它会中断。我下载的项目以前工作过,在不同的机器上工作正常,我的旧项目不再工作了,所以可能更新了一些东西/我破坏了一些东西。

值 Controller :

[Route("/api/[controller]")]
public class ValuesController : Controller
{
private readonly ValuesService _valuesService;

public ValuesController()
{
_valuesService = new ValuesService();
}

[HttpGet]
IActionResult ReturnValues()
{
return Ok(_valuesService.ReturnValues());
}
}

启动:

public void ConfigureServices(IServiceCollection services)
{
services.AddScoped<IStudentResearchGroupData, StudentResearchGroupData>();
services.AddMvc();

services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme =
JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme =
JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(o =>
{
o.Authority = "http://localhost:59418";
o.Audience = "researchgroups";
o.RequireHttpsMetadata = false;
});
}

// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseBrowserLink();
}
else
{
app.UseExceptionHandler("/Home/Error");
}

app.UseMvc();
app.UseStaticFiles();
app.UseAuthentication();
}

结果:404消息:
404 messege

最佳答案

HttpGet 在未提供路由模板时默认为 Controller 的根目录。

这意味着提供的代码的路径是

http://localhost:57279:/api/values

给定使用的属性路由。

此外,该操作还需要public 才能作为端点在外部可见。

[Route("api/[controller]")]
public class ValuesController : Controller {
private readonly ValuesService _valuesService;

public ValuesController() {
_valuesService = new ValuesService();
}

//GET api/values
[HttpGet]
public IActionResult ReturnValues() {
return Ok(_valuesService.ReturnValues());
}
}

引用 Routing to Controller Actions

关于c# - 使用 ASP.NET Core 路由时本地主机 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49602662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com