Я создаю простой проект Fastapi, где у меня есть как конечные точки API, так и рендеринг HTML. PrettyPrint-Override ">@router.get("/get_all_books", status_code=status.HTTP_200_OK)
async def get_all_books(user: user_dependency, db: Db_Dependency):
if user is None:
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED)
return db.query(Book).all()
< /code>
И у меня есть функция рендеринга HTML, которая отображает все книги: < /p>
@router.get("", status_code=status.HTTP_200_OK, response_class=HTMLResponse)
async def all_books_render(request: Request, db: Db_Dependency):
try:
user = await validate_current_user(request.cookies.get('access_token'))
if user is None:
return redirect_to_login()
books = db.query(Book).all()
return templates.TemplateResponse("books.html", {'request': request, 'books': books, 'user': user})
except:
return redirect_to_login()
< /code>
В функции рендеринга HTML, вместо того, чтобы использовать конечную точку /get_all_books, данные снова выбираются из базы данных. База данных еще раз?books = await get_all_books(user, db)
< /code>
Но я не уверен, хороший ли это дизайн или нет.
• лучше ли назвать функцию конечной точки (get_all_books) внутри моей функции рендеринга HTML? Мобильные приложения) и небольшой веб -фронта>
Подробнее здесь: https://stackoverflow.com/questions/795 ... ting-api-e
В Fastapi я должен напрямую позвонить в базу данных снова или повторно использовать существующую конечную точку API для ⇐ Html
Программисты Html
1745837807
Anonymous
Я создаю простой проект Fastapi, где у меня есть как конечные точки API, так и рендеринг HTML. PrettyPrint-Override ">@router.get("/get_all_books", status_code=status.HTTP_200_OK)
async def get_all_books(user: user_dependency, db: Db_Dependency):
if user is None:
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED)
return db.query(Book).all()
< /code>
И у меня есть функция рендеринга HTML, которая отображает все книги: < /p>
@router.get("", status_code=status.HTTP_200_OK, response_class=HTMLResponse)
async def all_books_render(request: Request, db: Db_Dependency):
try:
user = await validate_current_user(request.cookies.get('access_token'))
if user is None:
return redirect_to_login()
books = db.query(Book).all()
return templates.TemplateResponse("books.html", {'request': request, 'books': books, 'user': user})
except:
return redirect_to_login()
< /code>
В функции рендеринга HTML, вместо того, чтобы использовать конечную точку /get_all_books, данные снова выбираются из базы данных. База данных еще раз?books = await get_all_books(user, db)
< /code>
Но я не уверен, хороший ли это дизайн или нет.
• лучше ли назвать функцию конечной точки (get_all_books) внутри моей функции рендеринга HTML? Мобильные приложения) и небольшой веб -фронта>
Подробнее здесь: [url]https://stackoverflow.com/questions/79595294/in-fastapi-should-i-directly-call-the-database-again-or-reuse-an-existing-api-e[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия