Как показать конечную точку токена Web Api OAuth в Swagger

Если у вас есть таблица с достаточно большим непрерывным набором идентификаторов, вы можете использовать -

INSERT INTO tablename (_date)
SELECT '2011-01-01' + INTERVAL (id - 1) DAY
FROM some_table_with_lots_of_ids
WHERE id BETWEEN 1 AND 365

примечание: но имейте в виду, что это может вызвать у вас проблемы во время високосных лет (имея 366 дней )

16
задан Russ 23 August 2015 в 10:43
поделиться

1 ответ

ApiExplorer не будет автоматически генерировать какую-либо информацию для вашей конечной точки, поэтому вам нужно будет добавить собственный DocumentFilter, чтобы вручную описать конечную точку токена.

Пример этого есть на https://github.com/domaindrivendev/Swashbuckle/issues/332 :

class AuthTokenOperation : IDocumentFilter
{
    public void Apply(SwaggerDocument swaggerDoc, SchemaRegistry schemaRegistry, IApiExplorer apiExplorer)
    {
        swaggerDoc.paths.Add("/auth/token", new PathItem
        {
            post = new Operation
            {
                tags = new List<string> { "Auth" },
                consumes = new List<string>
                {
                    "application/x-www-form-urlencoded"
                },
                parameters = new List<Parameter> {
                    new Parameter
                    {
                        type = "string",
                        name = "grant_type",
                        required = true,
                        @in = "formData"
                    },
                    new Parameter
                    {
                        type = "string",
                        name = "username",
                        required = false,
                        @in = "formData"
                    },
                    new Parameter
                    {
                        type = "string",
                        name = "password",
                        required = false,
                        @in = "formData"
                    }
                }
            }
        });
    }
}

httpConfig.EnableSwagger(c =>
{
    c.DocumentFilter<AuthTokenOperation>();
});
28
ответ дан Ruaidhri Primrose 23 August 2015 в 10:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: