Где установить схему хоста API в Swashbuckle? - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь выяснить, как решить проблему, возникающую при отображении Swagger на наших серверах STAGE и PROD. Я считаю, что моя проблема в том, что у нас есть балансировщик нагрузки, который использует HTTPS для доступа, но как только вы туда доберетесь, все сайты обслуживаются по HTTP. Я считаю, что именно поэтому я получаю

Не могу прочитать с сервера. Возможно, он не имеет соответствующих настроек источника контроля доступа.

Итак, я нашел следующее на Swagger и думаю, что мне просто нужно установить мою схему на HTTP, но я не уверен на 100%, где сделать это изменение? Должен ли я добавить его в файл SwaggerConfig.cs? https://swagger.io/docs/specification/2-0/api-host-and-base-path/

Это то, что у меня есть в моем файле SwaggerConfig.cs:

public class SwaggerConfig
    {
        //public static void Register(HttpConfiguration config)
        public static void Register()
        {    
            var thisAssembly = typeof(SwaggerConfig).Assembly;

            GlobalConfiguration.Configuration
                .EnableSwagger(c =>
                {
                    c.ApiKey("Api-Token")
                        .Description("API Key for accessing secure APIs")
                        .Name("Api-Token")
                        .In("header");

                    c.SingleApiVersion("v1", "WorkdayAPI");
                    c.IncludeXmlComments(string.Format(@"{0}\bin\WorkdayApi.XML",
                       System.AppDomain.CurrentDomain.BaseDirectory));

                    // If you want the output Swagger docs to be indented properly, enable the "PrettyPrint" option.
                    c.PrettyPrint();

                })
                .EnableSwaggerUi(c =>
                {
                    // If your API supports ApiKey, you can override the default values.
                    // "apiKeyIn" can either be "query" or "header
                    c.EnableApiKeySupport("Api-Token", "header");
                });
        }
    }
...