只读与只写¶
我们用同一个 Model 来声明请求的输入和输出。
views.py [示例1]¶
from django_oasis import schema
from django_oasis.core import Operation, Resource
from django_oasis.parameter import JsonData
class MyModel(schema.Model):
a = schema.String(read_only=True) # 字段 a 设置为 “只读”
b = schema.String(write_only=True) # 字段 b 设置为 “只写”
@Resource("/api")
class API:
@Operation(response_schema=MyModel)
def post(
self,
data=JsonData(MyModel),
): ...
可以看到,由于字段 a
声明为“只读”。这意味着它可以作为响应的一部分发送,但不应作为请求的一部分发送;
而字段 b
声明为“只写”。因此,它可以作为请求的一部分发送,但不应作为响应的一部分发送。
SwaggerUI [示例1]