Если при необходимости использования web api через swagger необходимо отправлять кастомные http-заголовки, то это можно сделать очень просто
Сам скрипт был добавлен в сборку WebApiDoc, в каталог Scripts с именем файла customHeaders.js
Файл js в свойствах отмечаем как Embedded Resource
Собственно уже можно запускать и наблюдать результат:
Естественно можно доработать так, чтобы можно было динамически самому определять название заголовка и его значение, но это, на мой взгляд, противоречит цели использования подобных средств как swagger
- открываем SwaggerConfig
- ищем метод, переданный в EnableSwaggerUi
- вызываем InjectJavaScript у объекта, типа SwaggerUiConfig (передаётся в качестве первого аргумента обработчика)
- В качестве параметров необходимо передать :
- сборку, содержащую js в качестве рекурса
- название ресурса
т.е. в коде это выглядит примерно так:
Сам скрипт был добавлен в сборку WebApiDoc, в каталог Scripts с именем файла customHeaders.js
Файл js в свойствах отмечаем как Embedded Resource
Собственно уже можно запускать и наблюдать результат:
Теперь рассмотрим частный случай:
- Необходимо с каждым запросом отправлять http-заголовки X-TOKEN и Company
- И по желанию - заголовок Mobile
- Убираем input для api_key
В идеале хочется в шапку добавить нужные текстовые поля, и чтобы они, при возможности, заполнялись автоматически, но чтобы мы имели возможность изменять их значения
Описывать каждую строку особы смысла не вижу
Если непонятно - всё равно важно лишь то, что метод addCustomHeaderEditor добавит тестовое поле для редактирования данных конкретного http-заголовка
Пример работы скрипта:
В общем - вот и всё, какие угодно кастомные заголовки передавать совсем простоЕсли непонятно - всё равно важно лишь то, что метод addCustomHeaderEditor добавит тестовое поле для редактирования данных конкретного http-заголовка
Пример работы скрипта:
Естественно можно доработать так, чтобы можно было динамически самому определять название заголовка и его значение, но это, на мой взгляд, противоречит цели использования подобных средств как swagger
Комментариев нет:
Отправить комментарий
Можете оставить свой комментарий