ApiExplorer: как изменить значение по умолчанию для IgnoreApi - PullRequest
0 голосов
/ 24 апреля 2019

У нас есть пара ApiController реализаций, и мы не хотим, чтобы большинство операций было включено в метаданные ApiExplorer.

По умолчанию, если вы не добавите [ApiExplorerSettings(IgnoreApi = true)] к своей операции, она будет добавлена, так что это означает, что по умолчанию установлено значение false.

Это, вероятно, из-за того, что IgnoreApi является логическим значением по умолчанию false, но как я могу изменить это значение по умолчанию на true без необходимости переопределять ApiExplorerSettings?

Этобазовая реализация WebApi без использования компонентов MVC.

Я пытался найти простые решения на основе конфигурации или примеры использования ApiExplorerSettings, но ни один из них не помог мне.

Самое близкое к тому, что я хочу: DotNetCore - поддерживается ли ApiExplorer и как его использовать? ;тем не менее, он ориентирован на MVC.

    // For example
    [RoutePrefix("api/test")]
    public class TestController : ApiController
    {
        [HttpGet]
        [Route("helloworld")]
        [ApiExplorerSettings(IgnoreApi = false)]
        public string HelloWorld() {
            return "Hello world!";
        }

        [HttpGet]
        [Route("goodbyeworld")]
        [ApiExplorerSettings(IgnoreApi = true)]
        public string HelloWorld() {
            return "Goodbye world!";
        }

        [HttpGet]
        [Route("hiworld")]
        [ApiExplorerSettings(IgnoreApi = true)]
        public string HelloWorld() {
            return "Hi world!";
        }

        [HttpGet]
        [Route("seeyaworld")]
        [ApiExplorerSettings(IgnoreApi = true)]
        public string HelloWorld() {
            return "See ya world!";
        }
    }

Я хочу иметь возможность просто использовать ApiExplorerSettings для операций, которые я хочу использовать, вместо того, чтобы отмечать те, которые я не хочу использовать.

1 Ответ

0 голосов
/ 29 апреля 2019

Для тех, кто заинтересован, я переопределил класс ApiExplorer для переопределения методов ShouldExploreAction и ShouldExploreController. Я перевернул булеву логику там, и она работает как требуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...