File: servers_demo.py

package info (click to toggle)
flask-openapi3 4.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,224 kB
  • sloc: python: 4,807; makefile: 14; javascript: 5
file content (39 lines) | stat: -rw-r--r-- 857 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
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
# -*- coding: utf-8 -*-
# @Author  : llc
# @Time    : 2022/1/8 14:25
from pydantic import BaseModel

from flask_openapi3 import Info, OpenAPI, Server, Tag

info = Info(title="book API", version="1.0.0")
servers = [
    Server(url="http://127.0.0.1:5000"),
    Server(url="https://127.0.0.1:5000"),
]
app = OpenAPI(__name__, info=info, servers=servers)

book_tag = Tag(name="book", description="Some Book")


class BookQuery(BaseModel):
    age: int
    author: str


@app.get("/book", tags=[book_tag])
def get_book(query: BookQuery):
    """get books
    to get all books
    """
    return {
        "code": 0,
        "message": "ok",
        "data": [
            {"bid": 1, "age": query.age, "author": query.author},
            {"bid": 2, "age": query.age, "author": query.author},
        ],
    }


if __name__ == "__main__":
    app.run(debug=True)