簡體   English   中英

將 Swagger 與 Django Rest Framework 一起使用,我可以在不同的字段而不是一個主體中看到 POST 參數嗎

[英]Using Swagger with Django Rest Framework, can I see POST parameters in different fields instead of one body

我實際上是在使用 Django Rest Framework 在 Django 網站上創建 API。 我正在嘗試使用 Swagger 記錄它們。

我正在使用 Django 2.1、django-rest-swagger 2.2 和 djangorestframework 3.11

除了某些事情之外,一切都幾乎按預期工作:

讓我解釋一下:

我有這個模型(models.py)

class Technology(models.Model):
    """
    This model defines the different technologies
    """
    name = models.CharField(max_length=CHAR_SHORT)
    path = models.CharField(max_length=CHAR_SHORT, validators=[validate_tech_path], help_text='this is only used to construct the url')
    image = models.ImageField()
    mailer = models.EmailField(blank=True)
    external = models.BooleanField(default=False)
    internal = models.BooleanField(default=False)

    class Meta:
        verbose_name_plural = "technologies"
        ordering = ['name']

    def __str__(self):
        return self.name

然后我有相應的序列化器類(serializer.py):

class TechnologySerializer(serializers.ModelSerializer):
    """
    This model defines the different technologies
    """
    class Meta:
        model = Technology
        fields = ('id', 'name', 'path', 'image', 'mailer', 'external', 'internal')

最后,我對生成的 API (views.py) 有了我的看法:

class TechnologyViewSet(viewsets.ModelViewSet):

    queryset = Technology.objects.all()
    serializer_class = TechnologySerializer
    http_method_names = ['get','post','delete','put']

結果如下:

接口說明 1 接口說明 2

如上圖所示,參數與 json 主體無關。

是否可以為所有參數設置類似的內容:

需要 API 參數 非常感謝。

嘗試使用ListCreateAPIView而不是modelviewset你將能夠看到你的帖子https://www.django-rest-framework.org/api-guide/generic-views/#listcreateapiview

from rest_framework.generics import ListCreateAPIView
class TechnologyViewSet(ListCreateAPIView):

    queryset = Technology.objects.all()
    serializer_class = TechnologySerializer

希望有幫助。

暫無
暫無

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

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