当前位置: 首页 > 知识库问答 >
问题:

当使用GenericView和django-rest-swagger时,如何显示POST/PUT请求单个参数输入框

鲁泰宁
2023-03-14

我正在使用Django REST Framework(3.9.4)和Django-REST-Swagger(2.2)

view.py中,我使用了基于类的泛型视图,例如Generics.ListCreateAPIViewGenerics.RetrieveUpdateDestroyAPIView

在swagger页面中,它正确地登记了所有API及其相应的方法调用。

当它是put的API调用时,对于{id},它要求在输入框中提供输入。但是对于request-body,它要求提供整个Json作为输入。

我想把它改成这样一种方式:对于所有的请求体参数,每个参数都将作为一个单独的输入框出现,类似于头的id字段(我们在可浏览的API显示中看到的那种)

我怎么能那样做?

共有1个答案

葛承教
2023-03-14

settings.py中与

 SWAGGER_SETTINGS =

      {            
       'JSON_EDITOR': True,        
      }

还在REST Framework Setting中按此特定顺序添加了解析器:

  'DEFAULT_PARSER_CLASSES': (
          'rest_framework.parsers.FormParser',
          'rest_framework.parsers.MultiPartParser',
          'rest_framework.parsers.JSONParser',
   )
 类似资料:
  • 我已经将swagger与django rest框架集成在一起,但是swagger文档没有创建一个输入框来发布post请求的数据。 我的解析器设置, }

  • 问题内容: 我不想使用文件,但是只有django才需要发出POST请求。 就像发送请求一样。 问题答案: 结合使用urllib2和urllib中的方法即可解决问题。这是我使用这两种方法发布数据的方式: 是用于打开URL的方法。 将参数转换为百分比编码的字符串。

  • 我已经讨论过了:如何使用swagger定义path中的可选参数。 我有这个endpoint: 当我点击restendpoint并仅传递firstName时,Swagger正在抱怨必需的参数。我们怎样才能禁用它? 注意:我真的不想创建另一个endpoint,只是为了让它通过swagger工作。

  • 我是一个新的API测试与乱七八糟的问题。我的jmeter url:http://ip:8080/servelet?token=toekntext 响应r=给定()。contentType(内容类型)。接受(内容)。标题(“用户代理”,web)。queryParam(“令牌”,令牌文本)。queryParam(“methodname”,jsonttext)。expect()。状态代码(200)。wh

  • 我正在尝试使用Kafka Connect REST API。 有时,我总是遇到<code>POST</code>/<code>PUT</code>/<code>DELETE</code>API的超时问题,例如部署新的连接器或删除连接器(<code>GET</code>没有超时问题)。 错误如下所示: 现在我的解决方案只是等待几个小时,希望它能再次工作。有时它会再次工作,有时不会。 我找到了一个潜在

  • 我用的是招摇过市的客户机。这是客户端的npm库模块。但我有个问题。在服务器端,我使用的是express。 即使我尝试用put方法发送body参数,express也不接受参数。只能访问路径参数或查询参数。这些都不是问题。 下面是代码和招摇过市的json。 ■ json中的请求路径。 ■ 请求路径架构将方法放在上面。 ■ 快递日志 ■客户端vue