configuration.md 6.6 KB
Newer Older
K
Kyle Shockey 已提交
1 2
# Configuration

K
Kyle Shockey 已提交
3
### How to configure
4

K
Kyle Shockey 已提交
5
Swagger-UI accepts parameters in four locations.
6

K
Kyle Shockey 已提交
7 8
From lowest to highest precedence:
- The `swagger-config.yaml` in the project root directory, if it exists, is baked into the application
9
- configuration object passed as an argument to Swagger-UI (`SwaggerUI({ ... })`)
K
Kyle Shockey 已提交
10
- configuration document fetched from a specified `configUrl`
11 12 13
- configuration items passed as key/value pairs in the URL query string


K
Kyle Shockey 已提交
14
### Parameters
15

K
Kyle Shockey 已提交
16 17
Parameters with dots in their names are single strings used to organize subordinate parameters, and are not indicative of a nested structure.

K
Kyle Shockey 已提交
18 19
For readability, parameters are grouped by category and sorted alphabetically.

K
Kyle Shockey 已提交
20 21 22 23
Type notations are formatted like so:
- `String=""` means a String type with a default value of `""`.
- `String=["a"*, "b", "c", "d"]` means a String type that can be `a`, `b`, `c`, or `d`, with the `*` indicating that `a` is the default value.

K
Kyle Shockey 已提交
24 25
##### Core

K
Kyle Shockey 已提交
26 27
Parameter Name | Description
--- | ---
K
Kyle Shockey 已提交
28 29 30 31 32 33 34
configUrl | `String`. URL to fetch external configuration document from.
dom_id |`String`. The id of a dom element inside which SwaggerUi will put the user interface for swagger.
domNode | `Element`. The HTML DOM element inside which SwaggerUi will put the user interface for swagger. Overrides `dom_id`.
spec | `Object={}`. A JS object describing the OpenAPI Specification. When used, the `url` parameter will not be parsed. This is useful for testing manually-generated specifications without hosting them.
url | `String`. The url pointing to API definition (normally `swagger.json` or `swagger.yaml`). Will be ignored if `urls` or `spec` is used.
urls | `String`. An array of API definition objects (`{url: "<url>", name: "<name>"}`) used by Topbar plugin. When used and Topbar plugin is enabled, the `url` parameter will not be parsed. Names and URLs must be unique among all items in this array, since they're used as identifiers.
urls.primaryName | `String`. When using `urls`, you can use this subparameter. If the value matches the name of a spec provided in `urls`, that spec will be displayed when Swagger-UI loads, instead of defaulting to the first spec in `urls`.
K
Kyle Shockey 已提交
35

K
Kyle Shockey 已提交
36 37 38 39 40 41
##### Plugin system

Read more about the plugin system in the [Customization documentation](/docs/customization/overview.md).

Parameter Name | Description
--- | ---
K
Kyle Shockey 已提交
42 43 44
`layout` | `String="BaseLayout"`. The name of a component available via the plugin system to use as the top-level layout for Swagger-UI
`plugins` | `Array=[]`. An array of plugin functions to use in Swagger-UI.
`presets` | `Array=[SwaggerUI.presets.ApisPreset]`. An array of presets to use in Swagger-UI. Usually, you'll want to include `ApisPreset` if you use this option.
K
Kyle Shockey 已提交
45 46 47 48 49

##### Display

Parameter Name | Description
--- | ---
K
Kyle Shockey 已提交
50
deepLinking | `Boolean=false`. If set to `true`, enables dynamic deep linking for tags and operations. [Docs](https://github.com/swagger-api/swagger-ui/blob/master/docs/deep-linking.md)
K
Kyle Shockey 已提交
51
filter | `Boolean=false OR String`. If set, enables filtering. The top bar will show an edit box that you can use to filter the tagged operations that are shown. Can be Boolean to enable or disable, or a string, in which case filtering will be enabled using that string as the filter expression. Filtering is case sensitive matching the filter expression anywhere inside the tag.
K
Kyle Shockey 已提交
52 53 54 55
maxDisplayedTags | `Number`. If set, limits the number of tagged operations displayed to at most this many. The default is to show all operations.
operationsSorter | `Function=(a => a)`. Apply a sort to the operation list of each API. It can be 'alpha' (sort by paths alphanumerically), 'method' (sort by HTTP method) or a function (see Array.prototype.sort() to know how sort function works). Default is the order returned by the server unchanged.
showExtensions | `Boolean=false`. Controls the display of vendor extension (`x-`) fields and values for Operations, Parameters, and Schema.
tagsSorter | `Function=(a => a)`. Apply a sort to the tag list of each API. It can be 'alpha' (sort by paths alphanumerically) or a function (see [Array.prototype.sort()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) to learn how to write a sort function). Two tag name strings are passed to the sorter for each pass. Default is the order determined by Swagger-UI.
K
Kyle Shockey 已提交
56 57 58 59 60

##### Network

Parameter Name | Description
--- | ---
K
Kyle Shockey 已提交
61
docExpansion | `String=["list"*, "full", "none"]`. Controls the default expansion setting for the operations and tags. It can be 'list' (expands only the tags), 'full' (expands the tags and operations) or 'none' (expands nothing).
K
Kyle Shockey 已提交
62
displayOperationId | `Boolean=false`. Controls the display of operationId in operations list. The default is `false`.
K
Kyle Shockey 已提交
63
displayRequestDuration | `Boolean=false`. Controls the display of the request duration (in milliseconds) for Try-It-Out requests.
K
Kyle Shockey 已提交
64 65 66 67 68 69
defaultModelExpandDepth | `Number=1`. The default expansion depth for models.
defaultModelRendering | `String=["example"*, "model"]`. Controls how models are shown when the API is first rendered. (The user can always switch the rendering for a given model by clicking the 'Model' and 'Example Value' links.)
oauth2RedirectUrl | `String`. OAuth redirect URL.
requestInterceptor | `Function=(a => a)`. MUST be a function.  Function to intercept remote definition, Try-It-Out, and OAuth2 requests.  Accepts one argument requestInterceptor(request) and must return the potentially modified request.
responseInterceptor |`Function=(a => a)`. MUST be a function.  Function to intercept remote definition, Try-It-Out, and OAuth2 responses.  Accepts one argument responseInterceptor(response) and must return the potentially modified response.
showMutatedRequest | `Boolean=true`. If set to `true`, uses the mutated request returned from a requestInterceptor to produce the curl command in the UI, otherwise the request before the requestInterceptor was applied is used.
K
Kyle Shockey 已提交
70
validatorUrl | `String="https://online.swagger.io/validator" OR null`. By default, Swagger-UI attempts to validate specs against swagger.io's online validator. You can use this parameter to set a different validator URL, for example for locally deployed validators ([Validator Badge](https://github.com/swagger-api/validator-badge)). Setting it to `null` will disable validation.
K
Kyle Shockey 已提交
71 72 73 74 75

##### Macros

Parameter Name | Description
--- | ---
K
Kyle Shockey 已提交
76 77
parameterMacro | `Function`. Function to set default value to parameters. Accepts two arguments parameterMacro(operation, parameter). Operation and parameter are objects passed for context, both remain immutable
modelPropertyMacro | `Function`. Function to set default values to each property in model. Accepts one argument modelPropertyMacro(property), property is immutable