Skip to content

Настройки OpenAPI

These settings used to control exposing OpenAPI.json and SwaggerUI/ReDoc endpoints.

Bases: BaseModel

OpenAPI Settings.

OpenAPI.json is served at /openapi.json endpoint.

Examples

.. code-block:: bash

DATA_RENTGEN__SERVER__OPENAPI__ENABLED=True
DATA_RENTGEN__SERVER__OPENAPI__SWAGGER__ENABLED=True
DATA_RENTGEN__SERVER__OPENAPI__REDOC__ENABLED=True
Source code in data_rentgen/server/settings/openapi.py
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
class OpenAPISettings(BaseModel):
    """OpenAPI Settings.

    OpenAPI.json is served at ``/openapi.json`` endpoint.

    Examples
    --------

    .. code-block:: bash

        DATA_RENTGEN__SERVER__OPENAPI__ENABLED=True
        DATA_RENTGEN__SERVER__OPENAPI__SWAGGER__ENABLED=True
        DATA_RENTGEN__SERVER__OPENAPI__REDOC__ENABLED=True
    """

    enabled: bool = Field(default=True, description="Set to ``True`` to enable OpenAPI.json endpoint")
    swagger: SwaggerSettings = Field(
        default_factory=SwaggerSettings,
        description="Swagger UI settings",
    )
    redoc: RedocSettings = Field(
        default_factory=RedocSettings,
        description="ReDoc UI settings",
    )
    logo: LogoSettings = Field(
        default_factory=LogoSettings,
        description="Application logo settings",
    )
    favicon: FaviconSettings = Field(
        default_factory=FaviconSettings,
        description="Application favicon settings",
    )

Bases: BaseModel

Swagger UI settings.

SwaggerUI is served at /docs endpoint.

Examples

.. code-block:: bash

DATA_RENTGEN__SERVER__OPENAPI__SWAGGER__ENABLED=True
DATA_RENTGEN__SERVER__OPENAPI__SWAGGER__JS_URL=/static/swagger/swagger-ui-bundle.js
DATA_RENTGEN__SERVER__OPENAPI__SWAGGER__CSS_URL=/static/swagger/swagger-ui.css
Source code in data_rentgen/server/settings/openapi.py
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
class SwaggerSettings(BaseModel):
    """Swagger UI settings.

    SwaggerUI is served at ``/docs`` endpoint.

    Examples
    --------

    .. code-block:: bash

        DATA_RENTGEN__SERVER__OPENAPI__SWAGGER__ENABLED=True
        DATA_RENTGEN__SERVER__OPENAPI__SWAGGER__JS_URL=/static/swagger/swagger-ui-bundle.js
        DATA_RENTGEN__SERVER__OPENAPI__SWAGGER__CSS_URL=/static/swagger/swagger-ui.css
    """

    enabled: bool = Field(default=True, description="Set to ``True`` to enable Swagger UI endpoint")
    js_url: str = Field(
        default="https://cdn.jsdelivr.net/npm/swagger-ui-dist@5/swagger-ui-bundle.js",
        description="URL for Swagger UI JS",
    )
    css_url: str = Field(
        default="https://cdn.jsdelivr.net/npm/swagger-ui-dist@5/swagger-ui.css",
        description="URL for Swagger UI CSS",
    )
    extra_parameters: dict[str, Any] = Field(
        default_factory=dict,
        description=textwrap.dedent(
            """
            Additional parameters to pass to Swagger UI.
            See `FastAPI documentation <https://fastapi.tiangolo.com/how-to/configure-swagger-ui/>`_.
            """,
        ),
    )

Bases: BaseModel

ReDoc settings.

ReDOc is served at /redoc endpoint.

Examples

.. code-block:: bash

DATA_RENTGEN__SERVER__OPENAPI__REDOC__ENABLED=True
DATA_RENTGEN__SERVER__OPENAPI__REDOC__JS_URL=/static/redoc/redoc.standalone.js
Source code in data_rentgen/server/settings/openapi.py
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
class RedocSettings(BaseModel):
    """ReDoc settings.

    ReDOc is served at ``/redoc`` endpoint.

    Examples
    --------

    .. code-block:: bash

        DATA_RENTGEN__SERVER__OPENAPI__REDOC__ENABLED=True
        DATA_RENTGEN__SERVER__OPENAPI__REDOC__JS_URL=/static/redoc/redoc.standalone.js
    """

    enabled: bool = Field(default=True, description="Set to ``True`` to enable Redoc UI endpoint")
    js_url: str = Field(
        default="https://cdn.jsdelivr.net/npm/redoc@next/bundles/redoc.standalone.js",
        description="URL for Redoc UI JS, ``None`` to use default CDN URL",
    )

Bases: BaseModel

OpenAPI's x-logo documentation settings.

See OpenAPI spec <https://redocly.com/docs/api-reference-docs/specification-extensions/x-logo/>_ for more details.

Examples

.. code-block:: bash

DATA_RENTGEN__SERVER__OPENAPI__LOGO__URL=/static/logo.svg
DATA_RENTGEN__SERVER__OPENAPI__LOGO__BACKGROUND_COLOR=ffffff
DATA_RENTGEN__SERVER__OPENAPI__LOGO__ALT_TEXT=Data.Rentgen logo
DATA_RENTGEN__SERVER__OPENAPI__LOGO__HREF=http://mycompany.domain.com
Source code in data_rentgen/server/settings/openapi.py
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
class LogoSettings(BaseModel):
    """OpenAPI's ``x-logo`` documentation settings.

    See `OpenAPI spec <https://redocly.com/docs/api-reference-docs/specification-extensions/x-logo/>`_
    for more details.

    Examples
    --------

    .. code-block:: bash

        DATA_RENTGEN__SERVER__OPENAPI__LOGO__URL=/static/logo.svg
        DATA_RENTGEN__SERVER__OPENAPI__LOGO__BACKGROUND_COLOR=ffffff
        DATA_RENTGEN__SERVER__OPENAPI__LOGO__ALT_TEXT=Data.Rentgen logo
        DATA_RENTGEN__SERVER__OPENAPI__LOGO__HREF=http://mycompany.domain.com
    """

    url: str = Field(
        default="/static/logo.svg",
        description="URL for application logo",
    )
    background_color: str = Field(
        default="ffffff",
        description="Background color in HEX RGB format, without ``#`` prefix",
    )
    alt_text: str | None = Field(
        default="Data.Rentgen logo",
        description="Alternative text for ``<img>`` tag",
    )
    href: AnyHttpUrl | None = Field(  # type: ignore[assignment]
        default="https://github.com/MTSWebServices/data_rentgen",
        description="Clicking on logo will redirect to this URL",
    )

Bases: BaseModel

Favicon documentation settings.

Examples

.. code-block:: bash

DATA_RENTGEN__SERVER__OPENAPI__FAVICON__URL=/static/icon.svg
Source code in data_rentgen/server/settings/openapi.py
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
class FaviconSettings(BaseModel):
    """Favicon documentation settings.

    Examples
    --------

    .. code-block:: bash

        DATA_RENTGEN__SERVER__OPENAPI__FAVICON__URL=/static/icon.svg
    """

    url: str = Field(
        default="/static/icon.svg",
        description="URL for application favicon",
    )