Home Backend Development Python Tutorial How to use Swagger UI to display API documentation in FastAPI

How to use Swagger UI to display API documentation in FastAPI

Jul 30, 2023 am 10:45 AM
fastapi api documentation swagger ui

How to use Swagger UI to display API documentation in FastAPI

Introduction:
In modern web development, API is an indispensable part. In order to facilitate development and maintenance, we need to provide a friendly and easy-to-use API documentation so that other developers can understand and use our API. Swagger is a popular API documentation format and tool that provides an interactive UI interface that can visually display the details of the API. In this article, I will show you how to use Swagger UI in FastAPI to display API documentation.

  1. Installing dependencies
    First, we need to install FastAPI and related dependencies. It can be installed using the following command:

    pip install fastapi[all]
    Copy after login

    This will install FastAPI and all the dependencies it requires, including Swagger UI.

  2. Creating a FastAPI application
    Next, we will create a FastAPI application. In a new Python file, write the following code:

    from fastapi import FastAPI
    
    app = FastAPI()
    
    @app.get("/")
    async def root():
     return {"message": "Hello World"}
    Copy after login

    This simple application defines a root route that returns a simple "Hello World" message.

  3. Add Swagger UI
    In order to add Swagger UI to our application, we need to import the relevant FastAPI components. Add the following code to our app file:

    from fastapi import FastAPI
    from fastapi.openapi.utils import get_openapi
    from fastapi.openapi.docs import get_swagger_ui_html
    
    app = FastAPI()
    
    @app.get("/")
    async def root():
     return {"message": "Hello World"}
    
    def custom_swagger_ui_html(*, request):
     openapi_url = app.openapi_url
     swagger_url = openapi_url.replace("/openapi.json", "/swagger")
     return get_swagger_ui_html(
         openapi_url=openapi_url,
         title=app.title + " - Swagger UI",
         oauth2_redirect_url=swagger_url + "/oauth2-redirect.html",
         swagger_js_url="/static/swagger-ui-bundle.js",
         swagger_css_url="/static/swagger-ui.css",
     )
    
    app.openapi = get_openapi(title="My API")
    
    @app.get("/swagger", include_in_schema=False)
    async def swagger_ui_html(request: Request):
     return custom_swagger_ui_html(request=request)
    
    app.mount("/static", StaticFiles(directory="static"), name="static")
    Copy after login

    In the code, we create a custom function called custom_swagger_ui_html. This function will use the get_swagger_ui_html function provided by FastAPI to generate the HTML page of Swagger UI. We also defined some URLs and paths to static files for Swagger UI.

  4. Running the Application
    Now our application is ready to run. In the terminal, use the following command to start the application:

    uvicorn main:app --reload
    Copy after login

    This will start our application and make it run locally at the default address http://localhost:8000.

  5. View API documentation
    Open http://localhost:8000/swagger in the browser, you will see an interactive Swagger UI interface. It will display the details of your API, including routing, request and response models, and more.

Conclusion:
By using FastAPI and Swagger UI, we can easily display and browse our API documentation. This makes it easier for developers to understand and use our API. I hope this article can help you use Swagger UI to display API documents in FastAPI.

The above is a guide on how to use Swagger UI to display API documents in FastAPI. Hope this article will be helpful to you. thanks for reading!

The above is the detailed content of How to use Swagger UI to display API documentation in FastAPI. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to use Nginx with FastAPI for reverse proxy and load balancing How to use Nginx with FastAPI for reverse proxy and load balancing Aug 01, 2023 am 09:44 AM

How to use Nginx with FastAPI for reverse proxy and load balancing Introduction: FastAPI and Nginx are two very popular web development tools. FastAPI is a high-performance Python framework, and Nginx is a powerful reverse proxy server. Using these two tools together can improve the performance and reliability of your web applications. In this article, we will learn how to use Nginx with FastAPI for reverse proxy and load balancing. What is reverse generation

How to achieve high concurrency and load balancing of requests in FastAPI How to achieve high concurrency and load balancing of requests in FastAPI Jul 31, 2023 pm 01:50 PM

How to achieve high concurrency and load balancing of requests in FastAPI Introduction: With the development of the Internet, high concurrency of web applications has become a common problem. When handling a large number of requests, we need to use efficient frameworks and technologies to ensure system performance and scalability. FastAPI is a high-performance Python framework that can help us achieve high concurrency and load balancing. This article will introduce how to use FastAPI to achieve high concurrency and load balancing of requests. We will use Python3.7

How to use push notifications in FastAPI to update data in real time How to use push notifications in FastAPI to update data in real time Jul 29, 2023 pm 06:09 PM

How to use push notifications in FastAPI to update data in real time Introduction: With the continuous development of the Internet, real-time data updates are becoming more and more important. For example, in application scenarios such as real-time trading, real-time monitoring, and real-time gaming, we need to update data in a timely manner to provide the most accurate information and the best user experience. FastAPI is a modern Python-based web framework that provides a simple and efficient way to build high-performance web applications. This article will introduce how to use FastAPI to implement

How to generate API documentation using Swagger in PHP How to generate API documentation using Swagger in PHP Jun 17, 2023 am 10:40 AM

With the continuous development of web applications, API has become one of the standards for modern web application development. However, as the number and complexity of APIs increases, maintaining and documenting them becomes increasingly complex. To solve this problem, Swagger came into being. It is a tool for generating API documentation, making it easier for developers to maintain and document APIs, while also providing visual documentation and various other features. In this article, we will discuss how to use Swagger in PHP to generate a

How to implement request security protection and vulnerability repair in FastAPI How to implement request security protection and vulnerability repair in FastAPI Jul 29, 2023 am 10:21 AM

How to implement request security protection and vulnerability repair in FastAPI Introduction: In the process of developing web applications, it is very important to ensure the security of the application. FastAPI is a fast (high-performance), easy-to-use, Python web framework with automatic documentation generation. This article will introduce how to implement request security protection and vulnerability repair in FastAPI. 1. Use the secure HTTP protocol. Using the HTTPS protocol is the basis for ensuring application communication security. FastAPI provides

Laravel development: How to use Laravel Swagger to generate API documentation? Laravel development: How to use Laravel Swagger to generate API documentation? Jun 13, 2023 am 09:35 AM

Laravel development: How to use LaravelSwagger to generate API documentation? When developing web applications, dealing with API documentation is often a tedious but essential task. Use Swagger to automatically generate and visualize API documentation. In Laravel development, we can use the LaravelSwagger extension package to easily generate SwaggerAPI documentation. This article will guide you how to use L

How to implement failover and retry of requests in FastAPI How to implement failover and retry of requests in FastAPI Jul 28, 2023 pm 01:33 PM

How to implement request failure recovery and retry in FastAPI Introduction: In developing web applications, we often need to communicate with other services. However, these services may experience failures, such as temporary network outages or response timeouts. To keep our applications reliable, we need to recover from failures and retry when necessary. In this article, we will learn how to implement failover and retry of requests in FastAPI. FastAPI is a modern web application based on Python

How to implement file upload and processing in FastAPI How to implement file upload and processing in FastAPI Jul 28, 2023 pm 03:01 PM

How to implement file upload and processing in FastAPI FastAPI is a modern, high-performance web framework that is easy to use and powerful. It provides native support for file upload and processing. In this article, we will learn how to implement file upload and processing functions in the FastAPI framework, and provide code examples to illustrate specific implementation steps. First, we need to import the required libraries and modules: fromfastapiimportFastAPI,UploadF

See all articles