AMOS common api
Project description
amos api
主要用于定义离线分析中的 API 规范以及通用的 Response 等
快速开始
import logging
from fastapi import (FastAPI, Body)
from fastapi.responses import JSONResponse
from pydantic import ValidationError
from amos_api import (
ResponseBase,
ResponseOK,
ResponseValidationError,
ResponseAlgorithmError,
CheckAssertionError,
CheckValueError
)
from starlette.responses import RedirectResponse
logger = logging.getLogger()
async def document():
# return RedirectResponse(url="/docs")
return RedirectResponse(url="/redoc")
def mount_app_routes(app: FastAPI):
app.get("/",
response_model=ResponseBase,
summary="swagger 文档")(document)
# tag items
app.post("/user",
tags=["User"],
summary="用户信息",
)(userInfo)
async def userInfo(name: str=Body(..., description="用户名称", examples=["ray"])) -> ResponseBase:
return ResponseBase(data={"seq":"1", "name": name,})
async def userList(name: str=Body(..., description="用户名称", examples=["ray"])) -> ResponseBase:
try:
dblist()
return ResponseOK(data=[])
except Exception as e:
if isinstance(e, (ValidationError, CheckAssertionError, CheckValueError)):
ret = ResponseValidationError(data='校验错误的详细信息')
else:
ret = ResponseAlgorithmError(data='算法错误的详细信息')
logger.error() #错误日志
return JSONResponse(status_code=ret.code, content=ret.model_dump())
HttpCode._200请求成功,正常 code 值,ResponseBase 如果不设置code时,默认值。HttpCode._400错误的请求,比如参数错误HttpCode._403禁止访问的资源HttpCode._404未找到HttpCode._422常用于参数错误HttpCode._500服务器错误,内部错误HttpCode._522服务器错误,内部错误
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
amos_api-1.0.6.tar.gz
(3.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file amos_api-1.0.6.tar.gz.
File metadata
- Download URL: amos_api-1.0.6.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be80c20381a46643b1c35d4a5464bcdfd9b99d02ab53e03342c7645e61b1a310
|
|
| MD5 |
3736232a77eeb8195ce9eab4ddde8d27
|
|
| BLAKE2b-256 |
ce6c940c5a18bcc5cfa8120d5be15926885b351faecb9a957be3a0c94537c95a
|
File details
Details for the file amos_api-1.0.6-py3-none-any.whl.
File metadata
- Download URL: amos_api-1.0.6-py3-none-any.whl
- Upload date:
- Size: 3.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1a1f2d096eb41e0c4bd4c21937889651dd4bb9c1fca80328914b980b8931d71
|
|
| MD5 |
b7e358c1c9284465a5f58aaa9fd2f04e
|
|
| BLAKE2b-256 |
34517fdfe7601e14e98fbd54d9670f049f181dc2d1f6ca02935a26870d29b924
|