Example #1
0
from application.controller import success
from application.logger import get_controller_logger
from application import config
from fastapi import APIRouter, UploadFile, File
from util.common import md5hash

app_name = config.get('APP_NAME')

router = APIRouter()

LOGGER = get_controller_logger('BASE')


@router.get('/health')
def health_check():
    return success({
        'name': app_name,
        'hash': md5hash(app_name),
    })


@router.post('/upload')
async def upload_file(file: UploadFile = File(...)):
    filename = file.filename
    content = await file.read()
    decoded_content = content.decode('utf-8')
    LOGGER.info('Received file %s:\n%s' % (
        filename,
        decoded_content
    ))
    return success({
Example #2
0
from service import item as item_service
from model.item import Item
from application.controller import success, error
from application.logger import get_controller_logger
from fastapi import APIRouter, BackgroundTasks
from typing import Optional

router = APIRouter()
LOGGER = get_controller_logger('ITEM')


@router.get('/v1/item/{item_id}')
def get_item(item_id: int):
    """
    get item info by item id
    an example with param
    """
    LOGGER.info('Get item with id: %d' % item_id)
    item = item_service.get_item(item_id)
    if not item:
        return error(msg='Cannot found item with id %d' % item_id)
    return success(item)


@router.get('/v1/items')
def get_items(keyword: Optional[str] = '',
              min_price: Optional[float] = -1.0,
              max_price: Optional[float] = -1.0):
    """
    an example with query
    :return: