首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

drf-yasg swagger设置参数IN_BODY不工作

drf-yasg是一个在Django REST Framework中集成Swagger UI的工具。Swagger是一种用于描述和文档化RESTful API的规范,它提供了一种标准的方式来定义API的结构、参数和响应。

在drf-yasg中,通过使用装饰器@swagger_auto_schema来自定义Swagger文档。其中,参数的传递方式可以使用in参数来指定,包括in_queryin_pathin_headerin_cookiein_body等。

然而,根据你提供的问题,你表示设置参数的in_body方式似乎没有生效。这可能是由于以下原因之一:

  1. 使用@swagger_auto_schema装饰器时,没有正确指定参数的传递方式。请确保在@swagger_auto_schema装饰器中指定in_body参数的值为True,如下所示:
代码语言:txt
复制
@swagger_auto_schema(request_body=<your_request_body_schema>, methods=['post'], operation_id='your_operation_id', security=[<your_security_requirements>])
  1. 没有正确定义请求体(request body)的结构。在你的<your_request_body_schema>中,你需要定义请求体的结构,以便Swagger可以正确识别并在文档中显示。确保在请求体中正确定义了参数的名称、类型、是否必需等信息。
  2. 在你的视图函数或类视图中,没有正确传递请求体参数。请确保在你的视图函数或类视图中按照Swagger文档中定义的方式接收请求体参数,并将其用于处理请求。
  3. drf-yasg的版本不兼容。请确保你正在使用最新版本的drf-yasg,以获得最佳的功能和修复了可能存在的问题。

如果你已经检查了上述情况,并且仍然无法解决问题,建议你在drf-yasg的GitHub存储库中提出问题,以获得更进一步的帮助和支持。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

第 16 篇:别再手动管理接口文档了

可以看到内容大体上是正确的,接口基本上都罗列了出来,但是仔细检查各个接口的内容,就会发现一些问题: GET /api-version/test/ 这个接口是我们用来测试的,希望它显示在文档里。...drf-yasg 提供了一个 swagger_auto_schema 装饰器来装饰视图,只需要为装饰器设置 auto_shema=None 就可以让 drf-yasg 忽略掉被装饰的视图,具体用法如下:...查询过滤参数也是可以这样设置的,例如先来看一下 GET /posts/ 的参数: 可以看到用来过滤文章列表的参数都没有说明,这些字段都定义在 PostFilter 中,我们来改一下代码,添加必要的说明信息后再去文档中看看效果吧...会从这些属性去解析接口支持的参数,例如视图集设置了 filterset_class = PostFilter 和 pagination_class=PageNumberPagination(虽然不在视图集中显示定义...原因是这个 action 设置了 detail=True。当 detial=True 时,drf-yasg 会将这个 action 对应的接口看做获取单个资源的接口,因此它认为分页是不需要的。

1.8K20
  • drf的接口文档生成与管理

    1、接口文档简述 2、Core API生成接口文档 2.1 安装Core API库 2.2 设置接口文档访问路径 2.3 文档描述说明的定义位置 2.4 访问查看 2.5 补充说明 3、Swagger...(Swagger升级版) 4.1 drf-yasg介绍 4.2 安装drf-yasg库 4.3 配置app 4.4 配置路由url 4.5 访问查看 4.6 更多配置及说明 4.6.1 get_schema_view.../django-rest-swagger查看更多相关说明 4、drf-yasg(Swagger升级版) 4.1 drf-yasg介绍 参考drf-yasg官网,drf-yasg是基于Swagger和OpenAPI...cache_timeout 或 cache_kwargs 配置缓存参数 4.6.3 缓存的配置 由于schema通常在服务运行期间不会发生改变, 因此 drf-yasg使用django内置的 cache_page...4.6.4 校验文档有效性 为保证自动生成文档的有效性, 可以通过在get_schema_view中设置 validators 参数开启校验自动化生成文档是否符合OpenAPI2.0规范的功能 4.6.5

    4.7K10

    Django Swagger文档库drf-spectacular

    因此我选择使用Swagger文档,之前使用过drf-yasg,但是drf-yasg现在还不支持OpenAPI 3.0,而在drf-yasg的官方文档中为我们推荐了另一个库:drf-spectacular...,而且声明了drf-yasg不太可能支持OpenAPI 3.0,因此推荐我们使用drf-spectacular这个库。...VERSION': '1.0.0', 'SERVE_INCLUDE_SCHEMA': False, # OTHER SETTINGS } 静态资源引入 drf-spectacular 默认包含...方法的显式列表替换发现的auth description:替换发现的文档字符串 summary:一个可选的短的总结描述 deprecated:将操作标记为已弃用 tags:覆盖默认标记列表 exclude:设置为...在默认生成的swagger界面上,我们看到的情况与理解的一样,对于JSON参数的请求是没有问题的,我们只需要输入必填的字段就可以了,但是如果是form-data参数,虽然显示的依然包含read_only

    1.9K20

    Python3+ Django3:自动生成Swagger接口文档

    在实际的工作中,经常会遇到:“前端抱怨后端给的接口文档与实际情况不一致。后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新”。...GitHub地址: https://github.com/marcgibbons/django-rest-swagger 所以本文也是基于drf-yasg库来实现在Django3中接入Swagger框架的...1、安装drf-yasg库 pip install -U drf-yasg GitHub项目地址: https://github.com/axnsan12/drf-yasg 2、修改项目settings.py...blank=True, null=True, verbose_name="修改时间") class Meta: db_table = 'api_info' # 设置表名...4、Swagger除了可以即时生成接口文档以外,还可以用于在线做一些接口功能测试,如下所示。 ? ? 5、在Swagger中还可以查看到在model定义的各字段类型及参数说明。 ?

    15.6K32

    启动Spring Boot时,如果设置内存参数会如何?

    那么,在Spring Boot中如果未设置JVM内存参数时,JVM内存是如何配置的呢?...JVM默认内存设置 当运行一个Spring Boot项目时,如果未设置JVM内存参数,Spring Boot默认会采用JVM自身默认的配置策略。在资源比较充足的情况下,开发者倒是不太用关心内存的设置。...关于JVM内存最常见的设置为初始堆大小(-Xms)和最大堆内存(-Xmx)。很多人懒得去设置,而是采用JVM的默认值。特别是在开发环境下,如果启动的微服务比较多,内存会被撑爆。...最简单的操作就是在执行java -jar启动时添加上对应的jvm内存设置参数。 java -Xms64m -Xmx128m -jar xxx.jar 切记参数要防止-jar参数之前。...否则会被当做系统参数而无效。 当然在排查JVM的使用情况时,还会用到以下相关操作。 查看系统默认内存设置 通过上面的描述我们可以看到,不同的系统配置,JVM使用的内存是不同的。

    7.1K32

    open_files_limit 和 innodb_open_files 参数设置为啥生效?

    /security/limits.conf* soft nproc 65535* hard nproc 65535* soft nofile 65536* hard nofile 65536mysql参数文件...open_files_limit 无效问题1使用 /ect/rc.local 设置的开机自启....的用户是root 是正常的, mysqld的用户是mysql也是正常.innodb_open_files = 16000 不正常 我们设置的是63000open_files_limit = 63000...不正常(我们设置的63000)分析思路innodb_open_files 是在同一时刻能打开的innodb文件最大数量open_files_limit 是mysql打开的最大文件数限制以前有分析过 mysql...(root和mysql都是在这样)合理的参数能避免很多问题, 参数设置是否合理, 通常可以查看show global status相关的值来判断.很多东西不能马上有用, (比如之前解析的mysql启动流程

    55321

    Swagger异常定位纪实,是用的不对,还是Swagger本身设计问题

    ,所以,到这一步,可以先下一个小的结论,不是我们设置的example导致的问题,默认在设置的情况下,example的默认值就是空字符串。...结论及注意事项 当Model作用于请求的接收参数时,并且请求的类型为GET,那么Swagger Ui会自动收集Model所有属性的examole参数,因为这个参数是字符串类型,所以会做一个类型转换动作。...这表明了example有可能为空,但是默认值却设置了一个空字符串。代表手动将example设置为null,这段判null返回的逻辑就永远跑不到,而且没人会这么做,手动给example设置为null。...但是通过NotBlank判断了下,所以不会触发异常了 为啥直接升级3.X? 3.x版本既然已经修复了,为啥直接升级到3.x版本呢?可能有人会有这个疑问。...而在这个版本之前的1.5x系列版本是Swagger自己设计的api模型。所以代码层上面完全不兼容,升级的工作量会非常大。不过,新项目还是推荐使用3.x版本,这个版本的api数据更通用。

    21120

    《HelloGitHub》第 71 期

    默认支持 JS 代码,其它语言需配置) 制作辅助工具:可在文档中嵌入 HTML 组件来制作辅助工具 画图和图表:支持嵌入多种图形、思维导图、Plantunl、Drawio、Mermaid 、ECharts 工作日报...毫无保留的完整开源,无任何编译或加密代码 ⌨️ 代码对比:支持提交代码的不同版本支持高亮显示对比 ‍♀️ 分支保护:分支保护功能让代码提交安全可控,代码 Review 更容易清晰 多人协作:支持多人团队协作,并可以设置每个成员的角色和权限...包括搜索、排序、数据结构、机器学习、密码、神经网络等方面 地址:https://github.com/TheAlgorithms/Python 27、drf-yasg:为 Django Rest Framework...接口自动生成 Swagger 接口文档的库 地址:https://github.com/axnsan12/drf-yasg 28、tstock:在命令行看股票走势的工具 地址:https://github.com

    2K00

    Swagger接口安全测试

    参数、响应等信息并进行API调试和测试 应用界面 Swagger系统大致如下所示: 点击查看接口时会给出接口的调用示例,包括参数、可能出现的回显状态等 版本鉴别 我们在访问swagger的时候可以留意一下...,包含接口路径、参数信息、回显状态情况等,渗透测试人员可以根据接口构造请求数据报文对接口的安全测试,例如:接口的未授权访问等,所以对于企业而言Swagger文件无疑是一个资产暴露点,对于此类系统建议设置访问权限...,仅限于测试阶段供测试人员进行测试使用,或者将其调至内网访问,建议映射到外网去,从而降低这类信息比恶意利用的风险 自动化类 在针对上面的接口测试时我们有一个很头疼的点就是需要挨个去手动测试一遍所有的swagger...接口,这是一个非常耗时的工作量,所以我们思考的是如何对其实现自动化的安全评估,初步的流程如下: 获取接口文件 接口导入工具 工具发包测试 接口文件 接口文件的获取我们一般可以直接通过访问Swagger页面获取到...初始状态下我们导入工具后baseUrl是一个空值: 此时我们需要设置全局的环境变量: 填写如下信息设置变量名为test,其值设置为"http://49.75.27.150:8020/swagger/"

    39410

    Swagger未授权访问漏洞

    前言 持续更新:整理下渗透测试工作中发现过的漏洞(包含漏洞描述、漏洞等级、漏洞验证、修复建议),这里不深究漏洞产生的各种后利用或者绕过方式,漏洞验证过程局限于文章中的方法,能够证明漏洞存在即可。...相关的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。...Swagger-UI会根据开发人员在代码中的设置来自动生成API说明文档,若存在相关的配置缺陷,攻击者可以未授权翻查Swagger接口文档,得到系统功能API接口的详细参数,再构造参数发包,通过回显获取系统大量的敏感信息.../swagger-ui.html/ /swagger-ui.json /swagger-ui/swagger.json /swagger.json /swagger.yml /swagger/ /swagger...访问/swagger-ui/index.html即可查看生成的API接口文档。 可尝试测试功能接口参数,对系统数据进行增删改查等操作。

    47.9K10

    Swagger技术(接口文档实时动态生成工具)

    使用 五、Swagger 配置 1 配置基本信息(下图) 2 设置扫描的包(类级别) 3 自定义注解设置不需要生成接口文档的方法(方法级别) 4 设置范围(url级别) 六、Swagger2 常用注解...很多人员会抱怨别人写的接口文档规范,不及时更新。 当时自己写的时候确实最烦去写接口文档。这种痛苦只有亲身经历才会牢记于心。 如果接口文档可以实时动态生成就不会出现上面问题。...Swagger Inspector: 和Swagger UI 有点类似,但是可以返回更多信息,也会保存请求的实际参数数据。...在SwaggerHub 中可以完成上面项目的所有工作,需要注册账号,分免费版和收费版。...apiInfo:设置描述文件中info。参数类型ApiInfo select():返回ApiSelectorBuilder 对象,通过对象调用build()可以创建Docket 对象 ?

    9.7K21

    接口文档进化图鉴,有些古早接口文档工具,你可能都没用过

    ,哪些写,呈现形式怎么样全凭开发人员本身的业务水准。...而且,到目前为止,也没有逃脱接口文档要靠手写生成的命运,还要去学swagger 注解,这样一来,学习成本有了,工作效率也提高不上去。...首先是在已经存在的接口文档功能上做优化:A.可视化的接口设计页面,不用写swagger 注解 ,填完参数保存就是一份接口文档。只要你懂接口的知识就能上手写,四舍五入这学习成本就是零。​...编辑接口文档编辑状态​编辑接口文档只读状态B.一键导出接口文档,支持只分享部分接口文档,设置过期时间,设置密码​编辑C.接口文档实时更新 一旦接口文档发生变更,数据会实时同步到参与项目的所有成员其次是给前端和测试疯狂加外挂...编辑B.支持导入postman,swagger等多达20多种格式的接口数据,零成本实现项目迁移​编辑C.支持导出swagger,html,word 格式的接口文档,也绑架用户,你想迁移到其他系统也大大方方成全你

    1.3K20
    领券