+<!doctype html><html lang="zh-CN"><head><meta charset="utf-8" /><meta name="viewport" content="width=device-width,initial-scale=1" /><meta name="generator" content="VuePress 2.0.0-rc.18" /><meta name="theme" content="VuePress Theme Plume " /><script id="check-mac-os">document.documentElement.classList.toggle('mac', /Mac|iPhone|iPod|iPad/i.test(navigator.platform))</script><script id="check-dark-mode">;(function () {const um= localStorage.getItem('vuepress-theme-appearance') || 'auto';const sm = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;const isDark = um === 'dark' || (um !== 'light' && sm);document.documentElement.dataset.theme = isDark ? 'dark' : 'light';})();</script><link rel="icon" href="https://fastapi.tiangolo.com/img/favicon.png"><title>FastAPI Best Architecture</title><meta name="description" content=""><link rel="preload" href="/fastapi_best_architecture_docs/assets/style-fL_KTod6.css" as="style"><link rel="stylesheet" href="/fastapi_best_architecture_docs/assets/style-fL_KTod6.css"><link rel="modulepreload" href="/fastapi_best_architecture_docs/assets/app-Crq5Fzi-.js"><link rel="modulepreload" href="/fastapi_best_architecture_docs/assets/404.html-C4W-vq3d.js"><link rel="prefetch" href="/fastapi_best_architecture_docs/assets/index.html-BURq0lw2.js" as="script"><link rel="prefetch" href="/fastapi_best_architecture_docs/assets/friends.html-ClfVT7Bk.js" as="script"><link rel="prefetch" href="/fastapi_best_architecture_docs/assets/index.html-DD76nDUs.js" as="script"><link rel="prefetch" href="/fastapi_best_architecture_docs/assets/Docker.html-AtxdvYL8.js" as="script"><link rel="prefetch" href="/fastapi_best_architecture_docs/assets/legacy.html-Dk8WXtsK.js" as="script"><link rel="prefetch" href="/fastapi_best_architecture_docs/assets/user.html-BSEqxtGt.js" as="script"><link rel="prefetch" href="/fastapi_best_architecture_docs/assets/changelog.html-DKUD539U.js" as="script"><link rel="prefetch" href="/fastapi_best_architecture_docs/assets/RBAC.html-HywWo7sd.js" as="script"><link rel="prefetch" href="/fastapi_best_architecture_docs/assets/code-generation.html-Cm_hA4Gs.js" as="script"><link rel="prefetch" href="/fastapi_best_architecture_docs/assets/cors.html-BxCFQ4vn.js" as="script"><link rel="prefetch" href="/fastapi_best_architecture_docs/assets/oauth.html-B1QBsj3L.js" as="script"><link rel="prefetch" href="/fastapi_best_architecture_docs/assets/transaction.html-BKauXZwh.js" as="script"><link rel="prefetch" href="/fastapi_best_architecture_docs/assets/fsm.html-bjrUhlH7.js" as="script"><link rel="prefetch" href="/fastapi_best_architecture_docs/assets/quick-start.html-B60YVi61.js" as="script"><link rel="prefetch" href="/fastapi_best_architecture_docs/assets/why.html-DXVEv9iG.js" as="script"><link rel="prefetch" href="/fastapi_best_architecture_docs/assets/photoswipe.esm-GXRgw7eJ.js" as="script"><link rel="prefetch" href="/fastapi_best_architecture_docs/assets/searchBox-default-C8Zbnk__.js" as="script"><link rel="prefetch" href="/fastapi_best_architecture_docs/assets/SearchBox-kQ7cKkaY.js" as="script"><link rel="prefetch" href="/fastapi_best_architecture_docs/assets/setupDevtools-7MC2TMWH-azfduN3v.js" as="script"></head><body><div id="app"><!--[--><!--[--><div vp-not-found class="theme-plume vp-layout" data-v-30180c32><!--[--><!--]--><!--[--><span tabindex="-1" data-v-c7c19bfb></span><a href="#VPContent" class="vp-skip-link visually-hidden" data-v-c7c19bfb> Skip to content </a><!--]--><header class="vp-nav" data-v-30180c32 data-v-07674a2a><div class="vp-navbar" vp-navbar data-v-07674a2a data-v-3bee92e5><div class="wrapper" data-v-3bee92e5><div class="container" data-v-3bee92e5><div class="title" data-v-3bee92e5><div class="vp-navbar-title" data-v-3bee92e5 data-v-cf8863dd><a class="vp-link no-icon link title" href="/fastapi_best_architecture_docs/" data-v-cf8863dd data-v-283b49e8><!--[--><!--[--><!--]--><!--[--><!--[--><!--[--><img class="vp-image dark logo" src="https://fastapi.tiangolo.com/img/favicon.png" alt data-v-c6c7c740><!--]--><!--[--><img class="vp-image light logo" src="https://fastapi.tiangolo.com/img/favicon.png" alt data-v-c6c7c740><!--]--><!--]--><!--]--><span data-v-cf8863dd>FastAPI Best Architecture</span><!--[--><!--]--><!--]--><!----></a></div></div><div class="content" data-v-3bee92e5><div class="content-body" data-v-3bee92e5><!--[--><!--]--><div class="vp-navbar-search search" data-v-3bee92e5><div class="search-wrapper" data-v-5c486b45><!----><div id="local-search" data-v-5c486b45><button type="button" class="mini-search mini-search-button" aria-label="搜索文档" data-v-5c486b45><span class="mini-search-button-container"><svg class="mini-search-search-icon" width="20" height="20" viewBox="0 0 20 20" aria-label="search icon"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="mini-search-button-placeholder">搜索文档</span></span><span class="mini-search-button-keys"><kbd class="mini-search-button-key"></kbd><kbd class="mini-search-button-key">K</kbd></span></button></div></div></div><nav aria-labelledby="main-nav-aria-label" class="vp-navbar-menu menu" data-v-3bee92e5 data-v-94d8edf4><span id="main-nav-aria-label" class="visually-hidden" data-v-94d8edf4>Main Navigation</span><!--[--><!--[--><div class="vp-flyout vp-navbar-menu-group" data-v-94d8edf4 data-v-2b897730><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-2b897730><span class="text" data-v-2b897730><!----><!----><span data-v-2b897730>演示</span><span class="vpi-chevron-down text-icon" data-v-2b897730></span></span></button><div class="menu" data-v-2b897730><div class="vp-menu" data-v-2b897730 data-v-4f1e1c5c><div class="items" data-v-4f1e1c5c><!--[--><!--[--><div class="vp-menu-link" data-v-4f1e1c5c data-v-d5e26afa><a class="vp-link no-icon link" href="https://fba.xwboy.top/" target="_blank" rel="noreferrer" data-v-d5e26afa data-v-283b49e8><!--[--><!----> Arco Design 版本<!--]--><span class="vpi-external-link icon" data-v-283b49e8></span></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="vp-flyout vp-navbar-menu-group" data-v-94d8edf4 data-v-2b897730><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-2b897730><span class="text" data-v-2b897730><!----><!----><span data-v-2b897730>v0.0.1 Beta</span><span class="vpi-chevron-down text-icon" data-v-2b897730></span></span></button><div class="menu" data-v-2b897730><div class="vp-menu" data-v-2b897730 data-v-4f1e1c5c><div class="items" data-v-4f1e1c5c><!--[--><!--[--><div class="vp-menu-link" data-v-4f1e1c5c data-v-d5e26afa><a class="vp-link no-icon link" href="https://github.com/fastapi-practices/fastapi_best_architecture/tree/master/backend#readme" target="_blank" rel="noreferrer" data-v-d5e26afa data-v-283b49e8><!--[--><!----> 贡献<!--]--><span class="vpi-external-link icon" data-v-283b49e8></span></a></div><!--]--><!--[--><div class="vp-menu-link" data-v-4f1e1c5c data-v-d5e26afa><a class="vp-link no-icon link" href="/fastapi_best_architecture_docs/" data-v-d5e26afa data-v-283b49e8><!--[--><!----> 更新记录<!--]--><!----></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><a class="vp-link no-icon link navbar-menu-link" href="https://github.com/fastapi-practices/fastapi_best_architecture/issues" target="_blank" rel="noreferrer" tabindex="0" data-v-94d8edf4 data-v-fa6f58f4 data-v-283b49e8><!--[--><span class="vp-icon vpi-kg97x9wy" style="" data-v-fa6f58f4 data-v-d711d7e4></span><span data-v-fa6f58f4>技术支持</span><!--]--><span class="vpi-external-link icon" data-v-283b49e8></span></a><!--]--><!--[--><a class="vp-link no-icon link navbar-menu-link" href="/fastapi_best_architecture_docs/guide/summary/why.html#承诺" tabindex="0" data-v-94d8edf4 data-v-fa6f58f4 data-v-283b49e8><!--[--><span class="vp-icon vpi-kv7w4wyn" style="" data-v-fa6f58f4 data-v-d711d7e4></span><span data-v-fa6f58f4>授权</span><!--]--><!----></a><!--]--><!--[--><a class="vp-link no-icon link navbar-menu-link" href="https://wu-clan.github.io/sponsor/" target="_blank" rel="noreferrer" tabindex="0" data-v-94d8edf4 data-v-fa6f58f4 data-v-283b49e8><!--[--><span class="vp-icon vpi-w6sf23hs" style="" data-v-fa6f58f4 data-v-d711d7e4></span><span data-v-fa6f58f4>赞助</span><!--]--><span class="vpi-external-link icon" data-v-283b49e8></span></a><!--]--><!--[--><a class="vp-link no-icon link navbar-menu-link" href="https://wu-clan.github.io/homepage/" target="_blank" rel="noreferrer" tabindex="0" data-v-94d8edf4 data-v-fa6f58f4 data-v-283b49e8><!--[--><span class="vp-icon vpi-g4zy8kig" style="" data-v-fa6f58f4 data-v-d711d7e4></span><span data-v-fa6f58f4>互动</span><!--]--><span class="vpi-external-link icon" data-v-283b49e8></span></a><!--]--><!--[--><a class="vp-link no-icon link navbar-menu-link" href="/fastapi_best_architecture_docs/friends.html" tabindex="0" data-v-94d8edf4 data-v-fa6f58f4 data-v-283b49e8><!--[--><span class="vp-icon vpi-mnktn7yf" style="" data-v-fa6f58f4 data-v-d711d7e4></span><span data-v-fa6f58f4>友情链接</span><!--]--><!----></a><!--]--><!--]--></nav><!----><div class="vp-navbar-appearance appearance" data-v-3bee92e5 data-v-4a6177ef><button class="vp-switch vp-switch-appearance" type="button" role="switch" title aria-checked="false" data-v-4a6177ef data-v-6788b47b data-v-c549b4de><span class="check" data-v-c549b4de><span class="icon" data-v-c549b4de><!--[--><span class="vpi-sun sun" data-v-6788b47b></span><span class="vpi-moon moon" data-v-6788b47b></span><!--]--></span></span></button></div><div class="vp-social-links vp-navbar-social-links social-links" data-v-3bee92e5 data-v-6b30ba60 data-v-af90f115><!--[--><a class="vp-social-link no-icon" href="https://github.com/fastapi-practices/fastapi_best_architecture" aria-label="github" target="_blank" rel="noopener" data-v-af90f115 data-v-248a75cd><span class="vpi-social-github" /></a><!--]--></div><div class="vp-flyout vp-navbar-extra extra" data-v-3bee92e5 data-v-4bf51cc3 data-v-2b897730><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-2b897730><span class="vpi-more-horizontal icon" data-v-2b897730></span></button><div class="menu" data-v-2b897730><div class="vp-menu" data-v-2b897730 data-v-4f1e1c5c><!----><!--[--><!--[--><!----><div class="group" data-v-4bf51cc3><div class="item appearance" data-v-4bf51cc3><p class="label" data-v-4bf51cc3>外观</p><div class="appearance-action" data-v-4bf51cc3><button class="vp-switch vp-switch-appearance" type="button" role="switch" title aria-checked="false" data-v-4bf51cc3 data-v-6788b47b data-v-c549b4de><span class="check" data-v-c549b4de><span class="icon" data-v-c549b4de><!--[--><span class="vpi-sun sun" data-v-6788b47b></span><span class="vpi-moon moon" data-v-6788b47b></span><!--]--></span></span></button></div></div></div><div class="group" data-v-4bf51cc3><div class="item social-links" data-v-4bf51cc3><div class="vp-social-links social-links-list" data-v-4bf51cc3 data-v-af90f115><!--[--><a class="vp-social-link no-icon" href="https://github.com/fastapi-practices/fastapi_best_architecture" aria-label="github" target="_blank" rel="noopener" data-v-af90f115 data-v-248a75cd><span class="vpi-social-github" /></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="vp-navbar-hamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="nav-screen" data-v-3bee92e5 data-v-9be5f3ef><span class="container" data-v-9be5f3ef><span class="top" data-v-9be5f3ef></span><span class="middle" data-v-9be5f3ef></span><span class="bottom" data-v-9be5f3ef></span></span></button></div></div></div></div><div class="divider" data-v-3bee92e5><div class="divider-line" data-v-3bee92e5></div></div></div><!----></header><div id="VPContent" class="vp-content" data-v-30180c32><!--[--><div class="vp-not-found" data-v-30180c32><p class="code" data-v-30180c32>404</p><h1 class="title" data-v-30180c32>页面未找到</h1><div class="divider" data-v-30180c32></div><blockquote class="quote" data-v-30180c32>但是,如果你不改变方向,并且一直寻找,最终可能会到达你要去的地方。</blockquote><div class="action" data-v-30180c32><a class="link" href="/fastapi_best_architecture_docs/" aria-label="go to home" data-v-30180c32>返回首页</a></div></div><!--]--></div><footer class="vp-footer" vp-footer data-v-30180c32 data-v-f46d8860><!--[--><div class="container" data-v-f46d8860><p class="message" data-v-f46d8860>MIT License</p><p class="copyright" data-v-f46d8860>Copyright © 2024-present FastAPI Practices</p></div><!--]--></footer><!--[--><!--]--></div><div class="vp-bulletin preset border top-right" data-v-30180c32><button type="button" class="close"><span class="vpi-close"></span></button><!--[--><h2>欢迎加入我们</h2><div class="container"><div class="content vp-doc"><div style="text-align:center"><p><strong>知识星球:</strong> <a href="https://t.zsxq.com/sDbws" target="_blank" rel="noopener noreferrer">玩转 FBA,不止 FBA</a></p>
0 commit comments