Есть ли способ добавить ApiControllerAttribute глобально в ядре asp.net? - PullRequest
0 голосов
/ 18 января 2019

Обычно, если приложение служит только для целей API, я хочу сэкономить на ручном украшении каждого контроллера [ApiController].Как я могу добавить это глобально?

1 Ответ

0 голосов
/ 18 января 2019

Начиная с ASP.NET Core 2.2 * в сборке можно использовать атрибут [ApiController]

[assembly: ApiController]
namespace WebApi
{
    public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc()
                .SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

        }
    }
}

Обратите внимание, что вы должны установить версию совместимости 2.2 или новее, чтобы это работало.


Другой подход - просто использовать базовый контроллер и аннотировать его атрибутом [ApiController]

.
[ApiController]
public abstract class MyBaseController
{
}

Аннотация с атрибутом ApiController .

...