簡體   English   中英

Django Rest Framework視圖集中的視圖自定義模式

[英]Django Rest Framework custom schema for view in viewset

我有一個使用Django和Django REST Framework構建的API。 我有一個模型返回一些構建的JSON,它與典型的Django模型不對應。 因此,似乎利用有關Django模型的知識的自動文檔功能對我的一些視圖不起作用。

特別是,我有一個viewset返回一些典型的API視圖(如對象列表),以及一些返回一些自定義對象的視圖。 我想為這些自定義對象構建文檔,但我不確定如何覆蓋視圖集中特定端點的模式。 如何覆蓋為DRF視圖集中的單個視圖生成的模式?

DRF似乎為視圖提供了此功能 ,但我想對Viewsets執行相同的操作。

好的,經過大量的嘗試 - 失敗 - 重試后,我終於讓它工作 - 你失去了一些自動(神奇)內省,比如id路徑參數和從文檔字符串中獲取的描述,但我還是值得的:

custom_schema = ManualSchema(
    fields=[
        coreapi.Field(
            "id",
            required=True,
            location="path",
            schema=coreschema.String(
                title="ID",
                description="Foobar ID.",
            )
        ),
        coreapi.Field(
            "foobar",
            location="query",
            schema=coreschema.String(
                title="Foobar",
                description="Foobar?",
            )
        ),
    ],
    description="Foobar!",
)


class FoobarViewSet(viewsets.ReadOnlyModelViewSet):

    @action(methods=["get"], detail=True, schema=custom_schema)
    def foobar(self, request, id=None):
        ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM