from fastapi import APIRouter, Body, Depends, Form, Request from module_admin.service.login_service import LoginService from module_admin.entity.vo.test_vo import TestUserName, TestPostForm, TestUserNamePage from typing import List, Optional from module_admin.service.test_service import TestService from config.get_db import get_db from sqlalchemy.ext.asyncio import AsyncSession from module_admin.annotation.log_annotation import Log from config.enums import BusinessType, RedisInitKeyConfig from utils.response_util import ResponseUtil from utils.log_util import logger testController = APIRouter(prefix='/test') @testController.get('/hello', response_model= List[TestUserName] # ,dependencies=[Depends(LoginService.get_current_user)] ) async def hello(request: Request, name: Optional[str] = None, query_db: AsyncSession = Depends(get_db), ): print("名称", name) user_name = await TestService.get_user_name(query_db,) return user_name @testController.post('/hello_post_json', response_model=str ,dependencies=[Depends(LoginService.get_current_user)] ) @Log(title='测试Log', business_type=BusinessType.OTHER, log_type='operation') async def hello_post_json( request: Request, login_info: TestUserNamePage, query_db: AsyncSession = Depends(get_db) ): print(login_info.user_name) print(login_info.page_num) print(login_info.page_size) # print(login_info.password) user_name = await TestService.get_user_name(query_db, login_info) logger.info("测试成功") return ResponseUtil.success(model_content=user_name) @Log(title='测试post_form_data', business_type=BusinessType.OTHER, log_type='post') @testController.post('/hello_post_form_data', response_model=str) async def hello_post_form_data( request: Request, user_name: Optional[str] = Form(), password: Optional[str] = Form() ): print("*"*100) print(user_name) print(password) return "success"