【发布时间】:2018-08-18 03:18:45
【问题描述】:
有没有办法在django rest框架的schema中为post函数定义对象?
我有一个rest api视图:
class DocumentView(viewsets.ModelViewSet):
...
queryset = Document.objects.all().order_by('pk')
serializer_class = serializers.DocumentSerializer
pagination_class = LargeResultPagination
permission_classes = (IsAuthenticated,)
authentication_class = (
Token,
)
def perform_create(self, serializer):
serializer.save(user=self.request.user)
应发布的数据格式为:
{
"items": ["a", "b", "c"],
"name": "test"
}
如何使用 coreapi 在架构中描述它?
manual_fields=[
coreapi.Field(
"data",
required=True,
location="body",
description='{"items":[], "name":str}',
schema=coreschema.Object()
),
])
所以至少它会在描述中。这当然不是很方便,尤其是 igf 你需要在要发布的 JSON 中有更多的字段,因为描述是单行的,只有在 swagger 中。
最理想的情况是,如果我可以在 swagger 页面中将“items”和“name”字段作为单独的字段。
我用谷歌搜索过,但我找不到答案。我看到的所有示例都是用于获取参数的。那么这里的最佳做法是什么?
【问题讨论】:
-
有没有办法将此 JSON 作为 POST API 中正文的示例值?
标签: python django django-rest-framework core-api