到目前为止,您一直在使用常见的数据类型,如:
但是您也可以使用更复杂的数据类型。
您仍然会拥有现在已经看到的相同的特性:
下面是一些你可以使用的其他数据类型:
下面是一个路径操作的示例,其中的参数使用了上面的一些类型。
from datetime import datetime, time, timedelta
from typing import Optional
from uuid import UUID
from fastapi import Body, FastAPI
app = FastAPI()
@app.put("/items/{item_id}")
async def read_items(
item_id: UUID,
start_datetime: Optional[datetime] = Body(None),
end_datetime: Optional[datetime] = Body(None),
repeat_at: Optional[time] = Body(None),
process_after: Optional[timedelta] = Body(None),
):
start_process = start_datetime + process_after
duration = end_datetime - start_process
return {
"item_id": item_id,
"start_datetime": start_datetime,
"end_datetime": end_datetime,
"repeat_at": repeat_at,
"process_after": process_after,
"start_process": start_process,
"duration": duration,
}
注意,函数内的参数有原生的数据类型,你可以,例如,执行正常的日期操作,如:
from datetime import datetime, time, timedelta
from typing import Optional
from uuid import UUID
from fastapi import Body, FastAPI
app = FastAPI()
@app.put("/items/{item_id}")
async def read_items(
item_id: UUID,
start_datetime: Optional[datetime] = Body(None),
end_datetime: Optional[datetime] = Body(None),
repeat_at: Optional[time] = Body(None),
process_after: Optional[timedelta] = Body(None),
):
start_process = start_datetime + process_after
duration = end_datetime - start_process
return {
"item_id": item_id,
"start_datetime": start_datetime,
"end_datetime": end_datetime,
"repeat_at": repeat_at,
"process_after": process_after,
"start_process": start_process,
"duration": duration,
}
缓存的其他问题是数据的隐私和数据应该存储在缓存的级联中的问题。用户通常面临两种缓存:他们自己的浏览器缓存(私有缓存)和他...
Java Swing教程 -Java Swing SpringLayoutjavax.swing包中的SpringLayout类的实例表示一个SpringLayout管理器。在SpringLayout管...
二、运行springboot-freemarker 工程git clone 下载工程springboot-learning-example ,项目地址见 GitHub –https://github.com...
说明:继承自AbstractWrapper,自身的内部属性entity也用于生成where条件及LambdaQueryWrapper,可以通过ne...
什么是MyBatis?MyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码以及...
配置Hibernate 需要事先知道在哪里找到映射信息,这些映射信息定义了 Java 类怎样关联到数据库表。Hibernate 也需要一套相关数据...
使用JSP最重要的优势之一,就是可以使用所有Java API。本章将会详细地讲述Java中的Date类,它在java.util包下,封装了当前日期和...
Servlet 环境设置开发环境是您可以开发、测试、运行 Servlet 的地方。 就像任何其他的 Java 程序,您需要通过使用 Java 编译器 j...