Независимо от того, какую страницу я пытаюсь загрузить после запуска моего API, я получаю ошибку 404 «Эта страница локального хоста не может быть найдена», даже если я пытаюсь запустить метод, который возвращает только «Ok». Я думаю, что проблема может заключаться в том, как я настроил свое приложение. Это или я допустил некоторые ошибки при маршрутизации.
Я пытался возиться с конфигурацией приложения, просматривая примеры, но в большинстве из них установлены дополнительные пакеты NuGet. Я попытался использовать метод .AddControllers()
в методе ConfigureServices
, что привело к синтаксической ошибке, я попытался использовать .UseRouting()
в своей функции Configure
, и снова я столкнулся с синтаксической ошибкой.
Класс запуска:
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 на моей веб-странице для подтверждения функциональности. Вместо этого я получаю сообщение об ошибке «Эту локальную страницу не удается найти».