Skip to content

FOUREX/FastAPI-project-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Name Value
Python 3.11

Гайдлайн

Маршрути

Дозволене найменування маршрутів як в однині, так і в множині. Використовувати найменування в однині тільки в разі роботи з одним об'єктом, тобто отримання, створення, редагування та видалення одного об'єкту. Найменування в множині використовувати тільки при роботі з декількома об'єктами (списком), тобто при отриманні (частіше всього) або видаленні декількох об'єктів.

Для пагінації використовувати параметри запиту. Для фільтрів (до трьох) використовувати параметри запиту, в іншому разі параметри тіла.

Використання HTTP методів та статусів:

  • Загальне
    • 401 — Unauthorized: необхідна авторизація
    • 403 — Forbidden: маршрут не доступний для користувача
    • 404 — Not Found: маршрут не знайдений, не використовувати у випадку не знайдених даних, необхідно в такому разі повернути None або порожній список
    • 422 — Unprocessable Content: помилка валідації
    • 429 — Too Many Requests: перевищено ліміт запитів
  • GET — отримання об'єкту
    • 200 — ОК
    • 204 — No Content: якщо маршрут не повертає даних
  • POST — створення об'єкту
    • 200 — ОК: якщо маршрут повертає дані без створення нових
    • 201 — Created: у разі створення нового об'єкту в БД
    • 202 — Accepted: використовувати для асинхронних запитів
    • 204 — No Content: якщо маршрут не повертає даних, або використовується для авторизації
  • PUT — повна заміна об'єкту
    • 200 — ОК: при поверненні заміненого об'єкту
    • 204 — No Content: якщо маршрут не повертає даних
  • PATCH — заміна конкретних атрибутів об'єкту
    • 200 — ОК: при поверненні редагованого об'єкту
    • 204 — No Content: якщо маршрут не повертає даних
  • DELETE — видалення об'єкту
    • 200 — ОК: при поверненні видаленого об'єкту
    • 204 — No Content: якщо маршрут не повертає даних

Формат повернених даних:

  • Для користувацьких помилок (використовувати HTTPException):
    {
      "detail": "Error message"
    }

Бази данних

Для найменування таблиць використовувати PascalCase, для колонок — snake_case

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors