找不到此本地主机页面,可能存在配置问题



运行 API 后尝试加载的任何页面,即使我尝试运行只有"Ok"返回的方法,我也会收到"找不到此本地主机页面"404 错误。 我认为问题可能出在我配置应用程序的方式上。那个,或者我在路由时犯了一些错误。

我尝试弄乱应用程序配置,查看示例,但其中大多数都安装了额外的 NuGet 包。我尝试在ConfigureServices方法中使用.AddControllers()方法,这导致了语法错误,我尝试在Configure函数中使用.UseRouting(),再次遇到语法错误。

启动类:

public void ConfigureServices(IServiceCollection services)
{
services.AddScoped<IRepositoryWrapper, RepositoryWrapper>();
services.AddDbContext<ArtGalleriesContext>(
options=>options.UseSqlServer(
Configuration.GetConnectionString("Database")));
//services.AddScoped<IArtItemRepository1, ArtItemRepository1>();
services.AddMvc();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
// 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();
}
else
{
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});

课程类:

public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>();

我正在尝试调用此函数

[Route("api/[controller]")]
[ApiController]
public class AdminController : ControllerBase
[HttpGet("/user/add/{num1}/")]
public IActionResult SumActionResult(int num1)
{
return Ok(num1 );
}

像这样:api/admin/users/add/1,并让它在我的网页中显示 1 以确认功能。 我收到"找不到此本地主机页面"错误。

你需要这样的东西

[HttpGet("user/add/{num1}")]
public IActionResult SumActionResult(int num1)
{
return Ok(num1 );
}

另请注意,在路由中,您的用户不是"用户"。 有关更多详细信息,您可以阅读 https://learn.microsoft.com/en-us/aspnet/core/mvc/controllers/routing?view=aspnetcore-2.2

你的问题就在这里。

[HttpGet("/user/add/{num1}/")]

由于前面的斜杠(/(,路由只是/user/add/{num1}而不是/api/admin/user/add/{num1}。删除前面的斜杠:

[HttpGet("user/add/{num1}/")]

最新更新