swagger有著自動生成API文檔的功能,當然也可以測試。
自己在寫APIView的時候,request的自己定義的參數(shù)是不能自己生成的,只有在path中的才可以,如何解決這個問題?
解決的思路:
翻看源碼,原來get_swagger_view返回的是schema對象,也就是APIView中的schema屬性,所以我們只要設置schema就ok了。
class TestView(APIView):
'''
測試
'''
schema = AutoSchema(
manual_fields=[
coreapi.Field(name='code', required=True, location='form', description='', type='string'),
]
)
這個就是效果:

image.png
現(xiàn)在可以通過Try it out這個按鈕來進行測試了,告別自己寫API文檔,告別自己用postman來測試,安心的碼代碼搬磚吧?????。?!
通過coreapi_Field中的location你可以設置任何參數(shù),location有下列可選選項可以選:
| "path" | "query" | "form" | "header" |
|---|---|---|---|
| 包含在模板化URI中。例如,url值/products/{product_code}/可以與"path"字段一起使用。 | 包含在URL查詢參數(shù)中。例如?search=sale。通常用于GET請求。 | 包含在請求正文中,作為JSON對象或HTML表單的單個項目。例如{"colour": "blue", ...}。通常的POST,PUT和PATCH請求。"form"單個鏈接上可以包含多個字段。 | 包含在請求頭中,可以自定義。 |
具體操作請看DRF的文檔schemas。