必需参数¶
请求参数默认都是必需的,可以通过将 required
设置为 False
,或者提供一个默认值来取消参数的必需条件。
schemas.py [示例1]¶
from django_oasis import schema
class BookSchema(schema.Model):
title = schema.String()
author = schema.String(required=False)
classification = schema.Integer(default="传记")
views.py [示例1]¶
from django_oasis.core import Resource
from django_oasis.parameter import JsonData
from .schemas import BookSchema
@Resource("/book")
class BookAPI:
def get(self, book=JsonData(BookSchema)): ...
SwaggerUI [示例1]
二次改写¶
django_oasis.schema.Model
支持通过 required_fields
参数改写其必需字段。
指定部分字段为必需字段¶
views_partial_required.py [示例1]¶
from django_oasis.core import Resource
from django_oasis.parameter import JsonData
from .schemas import BookSchema
@Resource("/book")
class BookAPI:
def get(
self,
book=JsonData(
BookSchema(required_fields=["title", "author"]),
),
): ...
SwaggerUI [示例1]
指定所有字段为必需字段¶
views_all_required.py [示例1]¶
from django_oasis.core import Resource
from django_oasis.parameter import JsonData
from .schemas import BookSchema
@Resource("/book")
class BookAPI:
def get(
self,
book=JsonData(
BookSchema(required_fields="__all__"),
),
): ...
SwaggerUI [示例1]
指定所有字段为非必需字段¶
views_all_unrequired.py [示例1]¶
from django_oasis.core import Resource
from django_oasis.parameter import JsonData
from .schemas import BookSchema
@Resource("/book")
class BookAPI:
def get(
self,
book=JsonData(
BookSchema(required_fields=[]),
),
): ...
SwaggerUI [示例1]