Как использовать бритвенные страницы и контроллеры в одном приложении. net core 3? - PullRequest
0 голосов
/ 28 января 2020

Вот код для настройки при запуске

public void ConfigureServices(IServiceCollection services) {
  services.AddControllers();
  services.AddRazorPages();
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env) {
    app.UseEndpoints(endpoints => {
        endpoints.MapRazorPages();
        endpoints.MapControllers();
    });
}

Я хотел бы, чтобы все контроллеры были сопоставлены в '/ api', а все остальное сопоставлялось со страницами бритвы. Я провел массу поисков в Интернете, но, похоже, не могу найти то, что ищу.

Ответы [ 2 ]

1 голос
/ 29 января 2020

Нет проблем с вашим startup.cs. Если вы хотите отобразить все /api на свой контроллер, то просто украсьте свой контроллер API с помощью атрибута маршрутизации, например:

[ApiController]
[Route("/api/[controller]")]
public class WeatherForecastController : ControllerBase

Затем создайте Pages папка в вашем проекте, где находится Razor Pages. enter image description here

0 голосов
/ 28 января 2020

Вы уже видели это?

http://www.binaryintellect.net/articles/e6557104-d06a-418c-a1a9-b8ce248f60b1.aspx

Похоже, это можно сделать. Вы просто не будете звонить services.AddRazorPages();

Дайте мне знать, что вы видите не так или это работает.

...