#[non_exhaustive]pub struct Config<'a> { /* private fields */ }
Expand description
Object used to alter Swagger UI settings.
Config struct provides Swagger UI configuration for settings which could be altered with docker variables.
§Examples
In simple case, create config directly from url that points to the api doc json.
let mut config = Config::new();
config.urls(["/api-docs/openapi.json"]);
Implementations§
Source§impl<'a> Config<'a>
impl<'a> Config<'a>
Sourcepub fn urls<I: IntoIterator<Item = U>, U: Into<Url<'a>>>(
&mut self,
urls: I,
) -> &mut Self
pub fn urls<I: IntoIterator<Item = U>, U: Into<Url<'a>>>( &mut self, urls: I, ) -> &mut Self
Sets the URLs for the OpenAPI specifications to be displayed in Swagger UI.
This method accepts an iterator of items that can be converted into
Url
objects. It handles both single and multiple URL scenarios
appropriately:
- For a single URL, it will be set as the primary URL
- For multiple URLs, they will be displayed in a dropdown selector
§Examples
let mut config = Config::new();
// Single URL
config.urls(["/api-docs/openapi.json"]);
// Multiple URLs
config.urls(["/api-docs/openapi.json", "/api-docs/openapi-v2.json"]);
Sourcepub fn oauth_config(&mut self, oauth_config: Config) -> &mut Self
pub fn oauth_config(&mut self, oauth_config: Config) -> &mut Self
Sourcepub fn config_url<S: Into<String>>(&mut self, config_url: S) -> &mut Self
pub fn config_url<S: Into<String>>(&mut self, config_url: S) -> &mut Self
Add url to fetch external configuration from.
§Examples
Set external config url.
let mut config = Config::new();
config.config_url("http://url.to.external.config");
Sourcepub fn dom_id<S: Into<String>>(&mut self, dom_id: S) -> &mut Self
pub fn dom_id<S: Into<String>>(&mut self, dom_id: S) -> &mut Self
Add id of the DOM element where Swagger UI
will put it’s user
interface.
The default value is #swagger-ui
.
§Examples
Set custom dom id where the Swagger UI will place it’s content.
let mut config = Config::new();
config.dom_id("#my-id");
Sourcepub fn query_config_enabled(&mut self, query_config_enabled: bool) -> &mut Self
pub fn query_config_enabled(&mut self, query_config_enabled: bool) -> &mut Self
Set query_config_enabled
to allow overriding configuration parameters
via url query
parameters.
Default value is false
.
§Examples
Enable query config.
let mut config = Config::new();
config.query_config_enabled(true);
Sourcepub fn deep_linking(&mut self, deep_linking: bool) -> &mut Self
pub fn deep_linking(&mut self, deep_linking: bool) -> &mut Self
Set deep_linking
to allow deep linking tags and operations.
Deep linking will automatically scroll to and expand operation when Swagger UI is given corresponding url fragment. See more at deep linking docs.
Deep linking is enabled by default.
§Examples
Disable the deep linking.
let mut config = Config::new();
config.deep_linking(false);
Sourcepub fn display_operation_id(&mut self, display_operation_id: bool) -> &mut Self
pub fn display_operation_id(&mut self, display_operation_id: bool) -> &mut Self
Set display_operation_id
to true
to show operation id in the
operations list.
Default value is false
.
§Examples
Allow operation id to be shown.
let mut config = Config::new();
config.display_operation_id(true);
Sourcepub fn use_base_layout(&mut self) -> &mut Self
pub fn use_base_layout(&mut self) -> &mut Self
Set ‘layout’ to ‘BaseLayout
’ to only use the base swagger layout
without a search header.
Default value is ‘StandaloneLayout
’.
§Examples
Configure Swagger to use Base Layout instead of Standalone
let mut config = Config::new();
config.use_base_layout();
Sourcepub fn default_models_expand_depth(
&mut self,
default_models_expand_depth: isize,
) -> &mut Self
pub fn default_models_expand_depth( &mut self, default_models_expand_depth: isize, ) -> &mut Self
Add default models expansion depth.
Setting this to -1
will completely hide the models.
§Examples
Hide all the models.
let mut config = Config::new();
config.default_models_expand_depth(-1);
Sourcepub fn default_model_expand_depth(
&mut self,
default_model_expand_depth: isize,
) -> &mut Self
pub fn default_model_expand_depth( &mut self, default_model_expand_depth: isize, ) -> &mut Self
Add default model expansion depth for model on the example section.
§Examples
let mut config = Config::new();
config.default_model_expand_depth(1);
Sourcepub fn default_model_rendering<S: Into<String>>(
&mut self,
default_model_rendering: S,
) -> &mut Self
pub fn default_model_rendering<S: Into<String>>( &mut self, default_model_rendering: S, ) -> &mut Self
Add default_model_rendering
to set how models is show when API is
first rendered.
The user can always switch the rendering for given model by clicking the
Model
and Example Value
links.
example
Makes example rendered first by default.model
Makes model rendered first by default.
§Examples
let mut config = Config::new();
config.default_model_rendering(r#"["example"*, "model"]"#);
Sourcepub fn display_request_duration(
&mut self,
display_request_duration: bool,
) -> &mut Self
pub fn display_request_duration( &mut self, display_request_duration: bool, ) -> &mut Self
Set to true
to show request duration of ‘Try it out’ requests
(in milliseconds).
Default value is false
.
§Examples
Enable request duration of the ‘Try it out’ requests.
let mut config = Config::new();
config.display_request_duration(true);
Sourcepub fn doc_expansion<S: Into<String>>(&mut self, doc_expansion: S) -> &mut Self
pub fn doc_expansion<S: Into<String>>(&mut self, doc_expansion: S) -> &mut Self
Add doc_expansion
to control default expansion for operations and
tags.
list
Will expand only tags.full
Will expand tags and operations.none
Will expand nothing.
§Examples
let mut config = Config::new();
config.doc_expansion(r#"["list"*, "full", "none"]"#);
Sourcepub fn filter(&mut self, filter: bool) -> &mut Self
pub fn filter(&mut self, filter: bool) -> &mut Self
Add filter
to allow filtering of tagged operations.
When enabled top bar will show and edit box that can be used to filter visible tagged operations. Filter behaves case sensitive manner and matches anywhere inside the tag.
Default value is false
.
§Examples
Enable filtering.
let mut config = Config::new();
config.filter(true);
Add max_displayed_tags
to restrict shown tagged operations.
By default all operations are shown.
§Examples
Display only 4 operations.
let mut config = Config::new();
config.max_displayed_tags(4);
Sourcepub fn show_extensions(&mut self, show_extensions: bool) -> &mut Self
pub fn show_extensions(&mut self, show_extensions: bool) -> &mut Self
Set show_extensions
to adjust whether vendor extension (x-)
fields and values are shown for operations, parameters, responses
and schemas.
§Example
Show vendor extensions.
let mut config = Config::new();
config.show_extensions(true);
Sourcepub fn show_common_extensions(
&mut self,
show_common_extensions: bool,
) -> &mut Self
pub fn show_common_extensions( &mut self, show_common_extensions: bool, ) -> &mut Self
Add show_common_extensions
to define whether common extension
(pattern, maxLength, minLength, maximum, minimum)
fields and
values are shown for parameters.
§Examples
Show common extensions.
let mut config = Config::new();
config.show_common_extensions(true);
Sourcepub fn try_it_out_enabled(&mut self, try_it_out_enabled: bool) -> &mut Self
pub fn try_it_out_enabled(&mut self, try_it_out_enabled: bool) -> &mut Self
Add try_it_out_enabled
to enable ‘Try it out’ section by
default.
Default value is false
.
§Examples
Enable ‘Try it out’ section by default.
let mut config = Config::new();
config.try_it_out_enabled(true);
Sourcepub fn request_snippets_enabled(
&mut self,
request_snippets_enabled: bool,
) -> &mut Self
pub fn request_snippets_enabled( &mut self, request_snippets_enabled: bool, ) -> &mut Self
Set request_snippets_enabled
to enable request snippets section.
If disabled legacy curl snipped will be used.
Default value is false
.
§Examples
Enable request snippets section.
let mut config = Config::new();
config.request_snippets_enabled(true);
Sourcepub fn oauth2_redirect_url<S: Into<String>>(
&mut self,
oauth2_redirect_url: S,
) -> &mut Self
pub fn oauth2_redirect_url<S: Into<String>>( &mut self, oauth2_redirect_url: S, ) -> &mut Self
Add oauth redirect url.
§Examples
Add oauth redirect url.
let mut config = Config::new();
config.oauth2_redirect_url("http://my.oauth2.redirect.url");
Sourcepub fn show_mutated_request(&mut self, show_mutated_request: bool) -> &mut Self
pub fn show_mutated_request(&mut self, show_mutated_request: bool) -> &mut Self
Add show_mutated_request
to use request returned from
requestInterceptor
to produce curl command in the UI. If set to
false
the request before requestInterceptor
was applied will be
used.
§Examples
Use request after requestInterceptor
to produce the curl command.
let mut config = Config::new();
config.show_mutated_request(true);
Sourcepub fn supported_submit_methods<I: IntoIterator<Item = S>, S: Into<String>>(
&mut self,
supported_submit_methods: I,
) -> &mut Self
pub fn supported_submit_methods<I: IntoIterator<Item = S>, S: Into<String>>( &mut self, supported_submit_methods: I, ) -> &mut Self
Add supported http methods for ‘Try it out’ operation.
‘Try it out’ will be enabled based on the given list of http methods when the operation’s http method is included within the list. By giving an empty list will disable ‘Try it out’ from all operations but it will not filter operations from the UI.
By default all http operations are enabled.
§Examples
Set allowed http methods explicitly.
let mut config = Config::new();
config.supported_submit_methods([
"get", "put", "post", "delete", "options", "head", "patch", "trace",
]);
Allow ‘Try it out’ for only GET operations.
let mut config = Config::new();
config.supported_submit_methods(["get"]);
Sourcepub fn validator_url<S: Into<String>>(&mut self, validator_url: S) -> &mut Self
pub fn validator_url<S: Into<String>>(&mut self, validator_url: S) -> &mut Self
Add validator url which is used to validate the Swagger spec.
This can also be set to use locally deployed validator for example see Validator Badge for more details.
By default swagger.io’s online validator (https://validator.swagger.io/validator)
will be used.
Setting this to none
will disable the validator.
§Examples
Disable the validator.
let mut config = Config::new();
config.validator_url("none");
Sourcepub fn with_credentials(&mut self, with_credentials: bool) -> &mut Self
pub fn with_credentials(&mut self, with_credentials: bool) -> &mut Self
Set with_credentials
to enable passing credentials to CORS requests
send by browser as defined fetch standards.
Note! that Swagger UI cannot currently set cookies cross-domain (see swagger-js#1163) - as a result, you will have to rely on browser-supplied cookies (which this setting enables sending) that Swagger UI cannot control.
§Examples
Enable passing credentials to CORS requests.
let mut config = Config::new();
config.with_credentials(true);
Set to true
to enable authorizations to be persisted throughout
browser refresh and close.
Default value is false
.
§Examples
Persists authorization throughout browser close and refresh.
let mut config = Config::new();
config.persist_authorization(true);
Sourcepub fn with_syntax_highlight<H: Into<SyntaxHighlight>>(
&mut self,
syntax_highlight: H,
) -> &mut Self
pub fn with_syntax_highlight<H: Into<SyntaxHighlight>>( &mut self, syntax_highlight: H, ) -> &mut Self
Set a specific configuration for syntax highlighting responses and curl commands.
By default, swagger-ui does syntax highlighting of responses and curl commands. This may consume considerable resources in the browser when executed on large responses.
§Example
Disable syntax highlighting.
let mut config = Config::new();
config.with_syntax_highlight(false);
Sourcepub fn basic_auth(&mut self, basic_auth: BasicAuth) -> &mut Self
pub fn basic_auth(&mut self, basic_auth: BasicAuth) -> &mut Self
Set basic authentication configuration. If configured, the Swagger UI will prompt for basic auth credentials. username and password are required. “{username}:{password}” will be base64 encoded and added to the “Authorization” header. If not provided or wrong credentials are provided, the user will be prompted again. # Examples
Configure basic authentication.
let mut config = Config::new();
config.basic_auth(BasicAuth {
username: "admin".to_string(),
password: "password".to_string(),
});