Fastapi笔记

1.安装fastapi:

pip install fastapi

安装uvicorn来作为服务器:

pip install uvicorn[standard]

###注意事项:

在使用pip安装uvicorn服务时需要确定pip对应的python版本和$PATH默认路径是否一致,如果不一致会出现报错:bash: uvicorn: command not found

这种情况是因为在环境变量中找到的python版本和pip对应的python版本不一致,导致找不到pip安装的库,需要将对应版本的python路径配置在环境变量中:

export PATH=$PATH:/usr/local/python3/bin

2.开启服务:

uvicorn main:app --host='0.0.0.0' --reload

默认端口是8000,由于使用docker运行,需要将端口映射出来,在这里如果不配置--host默认为“127.0.0.1”,局域网内也是会出现访问不到。

###遇到的问题:内网中访问静态文档http://内网地址:端口号/docs为空。

###解决方案:添加swagger-ui

(1)下载swagger-ui包(官网:Release Swagger UI v4.1.3 Released! · swagger-api/swagger-ui (github.com));

(2)将包中的地址挂载在/static位置:

from fastapi.staticfiles import StaticFiles
app.mount("/static",StaticFiles(directory="/mnt/mnt/users/jiao/fastapi/study/swagger-ui/dist"),name="static"),

(3)配置fastapi(/usr/local/python3/lib/python3.7/site-packages/fastapi/openapi/docs.py),具体位置根据自己安装fastapi的位置,可以通过pip查看(pip show fastapi):

def get_swagger_ui_html(
    *,
    openapi_url: str,
    title: str,
    swagger_js_url: str = "/static/swagger-ui-bundle.js",
    swagger_css_url: str = "/static/swagger-ui.css",
    swagger_favicon_url: str = "/static/favicon-32x32.png",
    oauth2_redirect_url: Optional[str] = None,
    init_oauth: Optional[Dict[str, Any]] = None,
) -> HTMLResponse:

(4)刷新页面http://内网地址:端口号/docs:

Vue 3.0 推出了一种全新的 API,即组合式 API,它可以让我们更好地组织 Vue 组件代码。这里是一些 Vue 组合式 API笔记: ### setup `setup` 是组合式 API 中的一个钩子函数,它在 `beforeCreate` 之前被调用。`setup` 函数接收两个参数: - `props`: 组件的属性对象 - `context`: 组件上下文对象 `setup` 函数必须返回一个对象,这个对象包含组件内部需要用到的数据、方法等。 ```javascript import { ref } from 'vue' export default { props: { msg: String }, setup(props, context) { const count = ref(0) // ref 可以用来定义响应式数据 const increase = () => count.value++ return { count, increase } } } ``` 在组件模板中,可以直接使用 `count` 和 `increase`,它们都是响应式的。 ### reactive `reactive` 可以用来创建一个响应式的对象。 ```javascript import { reactive } from 'vue' const state = reactive({ count: 0, msg: 'Hello' }) ``` 在模板中,可以直接使用 `state.count` 和 `state.msg`。 ### ref `ref` 可以用来创建一个响应式的值。 ```javascript import { ref } from 'vue' const count = ref(0) ``` 在模板中,可以直接使用 `count.value`。 ### computed `computed` 可以用来定义一个计算属性。 ```javascript import { computed, ref } from 'vue' const count = ref(0) const doubleCount = computed(() => count.value * 2) ``` 在模板中,可以直接使用 `doubleCount`。 ### watch `watch` 可以用来监听一个响应式值的变化。 ```javascript import { watch, ref } from 'vue' const count = ref(0) watch(count, (newValue, oldValue) => { console.log(`count changed from ${oldValue} to ${newValue}`) }) ``` ### 生命周期钩子函数 组合式 API 中,可以使用 `onBeforeMount`、`onMounted`、`onBeforeUpdate`、`onUpdated`、`onBeforeUnmount`、`onUnmounted` 等函数来替代传统的生命周期钩子函数。 ```javascript import { onMounted, onUnmounted } from 'vue' export default { setup() { onMounted(() => { console.log('mounted') }) onUnmounted(() => { console.log('unmounted') }) } } ``` 以上是 Vue 组合式 API 的一些笔记,希望对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值