请求体 (Body)

JSON 格式

使用 django_oasis.parameter.JsonDatadjango_oasis.parameter.JsonItem 声明。

views.py [示例1]
from django_oasis.core import Resource, schema
from django_oasis.parameter import JsonData, JsonItem


@Resource("/api1")
class API1:
    def post(
        self,
        data=JsonData(
            {
                "a": schema.Integer(),
                "b": schema.String(),
            }
        ),
    ): ...


# 与 API1 声明结果等效
@Resource("/api2")
class API2:
    def post(
        self,
        a=JsonItem(schema.Integer()),
        b=JsonItem(schema.String()),
    ): ...
SwaggerUI [示例1]

表单格式

使用 django_oasis.parameter.FormDatadjango_oasis.parameter.FormItem 声明。

views.py [示例2]
from django_oasis.core import Resource, schema
from django_oasis.parameter import FormData, FormItem


@Resource("/api1")
class API1:
    def post(
        self,
        form=FormData(
            {
                "a": schema.String(),
                "b": schema.Integer(),
            }
        ),
    ): ...


# 与 API1 声明结果等效
@Resource("/api2")
class API2:
    def post(
        self,
        a=FormItem(schema.String()),
        b=FormItem(schema.Integer()),
    ): ...
SwaggerUI [示例2]