🇺🇸 English | 🇷🇺 Русский | 🇨🇳 中文
Удаляет параметр из эндпоинта в OpenAPI спецификации
| Параметр | Описание | Пример | Типизация | Дефолтное |
|---|---|---|---|---|
endpointDescriptor |
[обязательный] Описание эндпоинта, из которого нужно удалить параметр | "GET /pets" |
string \ { path: string; method: string } |
- |
parameterDescriptor |
[обязательный] Описание параметра, который нужно удалить. В параметр in можно указать: "query", "path", "header", "cookie". |
{"name": "petId", "in": "path"} |
{ name: string; in: "query" \ "path" \ "header" \ "cookie" } |
- |
Пример конфигурации:
module.exports = {
pipeline: [
// ... other rules
{
rule: "remove-parameter",
config: {
endpointDescriptor: "GET /pets/{petId}", // указать конечную точку, из которой нужно удалить параметр
parameterDescriptor: {
name: "version", // указать имя удаляемого параметра
in: "query" // указать местоположение параметра (параметр запроса)
}
},
}
// ... other rules
]
}Если необходимо изменить несколько спецификаций, вы можете использовать несколько раз данное правило в общем пайлайне конфигурации.
1. Необходимо удалить неиспользуемый параметр из эндпоинта, чтобы перестать его использовать и удалить в дальнейшем
Практический пример:
В файле openapi.yaml документация на endpoint выглядит так:
paths:
/pets/{petId}:
get:
summary: Get pet by ID
parameters:
- name: petId
in: path
required: true
schema:
type: string
- name: version
in: query
required: false
schema:
type: stringНужно удалить неиспользуемый параметр version.
В файле конфигурации openapi-modifier-config.js добавляем правило remove-parameter:
module.exports = {
pipeline: [
{
rule: "remove-parameter",
config: {
endpointDescriptor: "GET /pets/{petId}",
parameterDescriptor: {
name: "version",
in: "query"
}
},
}
]
}После применения правила, файл openapi.yaml выглядит так:
paths:
/pets/{petId}:
get:
summary: Get pet by ID
parameters:
- name: petId
in: path
required: true
schema:
type: stringПрактический пример:
В файле openapi.yaml есть компонент с параметром:
components:
parameters:
ApiKeyHeader:
name: X-API-Key
in: header
required: true
schema:
type: stringНужно удалить компонент параметра ApiKeyHeader.
В файле конфигурации openapi-modifier-config.js добавляем правило remove-parameter:
module.exports = {
pipeline: [
{
rule: "remove-parameter",
config: {
parameterDescriptor: {
name: "X-API-Key",
in: "header"
}
},
}
]
}После применения правила, файл openapi.yaml выглядит так:
components:
parameters: {}- Если эндпоинт или параметр не найден, правило выводит предупреждение и оставляет спецификацию без изменений, для своевременной актуализации конфигурации openapi-modifier'а
- Правило может быть применено к параметрам любого типа (query, path, header, cookie)