问题标签 [drf-spectacular]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
230 浏览

django-rest-framework - Django REST drf-嵌套字段的壮观错误检测

如果有多个字段与其他模型有关系,并且在序列化程序 Meta 类上指定了 depth>=1,则在为相应 url 生成的示例中,所有关系字段的值都具有相同的对象,例如:

模型:

序列化器:

echema 中的示例:

还有这个警告:

但如果不使用深度并且相关字段分配有它们的序列化程序,则模式是正确的:

序列化器:

架构中的示例:

使用深度进行嵌套时,如何生成正确的示例?

0 投票
1 回答
152 浏览

django-rest-framework - 将新请求示例附加到 drf-spectacular 模式

我知道为 drf-spectacular 使用的模式添加示例的方法是:

但是,我不想从头开始创建示例,而是想在自动生成的示例中添加一个新示例。

有没有办法做到这一点?或者至少,从序列化程序生成请求正文。

谢谢!

0 投票
1 回答
75 浏览

django - Django drf-spectacular 如何拆分 api 描述以供公共和私人使用?

我想制作 2 个不同的文档。一种是公开的,只有很少的 api 方法,没有 authz。另一种是用于所有 api 方法的私人使用,并且仅供授权用户使用。

0 投票
1 回答
76 浏览

python - drf-spectacular:将 OpenApiResponse 添加到无序列化程序的基于函数的视图中

因此,我正在使用以下代码记录以下代码drf-spectacular

我不明白该怎么做是如何记录响应。OpenApiResponse即,有drf_spectacular.utils但文档很薄。我如何用这个系统记录我的 API 的响应?

0 投票
1 回答
83 浏览

python - 在 DRF 中通过 @actoin 使用 @extend_schema 的问题

嗨,我的代码中有一个drf_spectacular库的@extend_schema我需要在我的@action上使用它来自定义 OpenAPI 中的详细信息,但是我遇到了这样的错误

这是我的代码:

我尝试将装饰器移到 @action 的下方但不起作用 @extend_schema 实际上我没有收到任何错误但在 OpenAPI 中它不起作用

当我从我的代码中删除@command.mapping.post时,它的工作也很好

0 投票
1 回答
80 浏览

django - 使用 drf-spectacular 和 x-www-form-urlencoded 请求的 Swagger UI 示例

是否可以生成一个包含 application/jsonx-www-form-urlencoded 请求主体的示例的招摇的 UI 页面(以及重做)?我可以获取 application/json 的示例,但在选择 x-www-form-urlencoded 作为 swagger/redoc UI 的请求类型时不能。

我将以下装饰器用于“创建”方法(在 ModelViewSet 中)

其中 MySerializer 如下所示...

swagger/redocs UI 很乐意为应用程序/json 请求正文提供一个带有“示例输入”的示例 dropbox(选择示例将填充 json),但对于 x-www-form-urlencoded 将只显示一个要填写的表单在,没有示例 Dropbox 以填充字段。

我可以获得查询字符串的示例(及其选择下拉框),即在制作使用 OpenApiParameter 的 GET 端点时,例如

选择一个下拉框条目将填充文本字段。

但是,对于 x-www-form-urlencoded,这似乎没有生成?

这可能吗?难道我做错了什么?

0 投票
1 回答
27 浏览

django - 如何使用 `drf-spectacular` 记录 ViewSet 的各个操作?

使用 DRF 的内置 API 记录方式,我能够编写如下所示的文档字符串,并且每个操作都由其对应的行记录:

我正在切换到 library drf-spectacular,它允许轻松生成符合 OpenAPI 的方案。但是,现在为每个操作呈现相同的文档字符串,这使得我的文档非常冗长且多余。

有没有办法只为每个操作呈现文档字符串的相关部分?

0 投票
1 回答
21 浏览

django - 在 drf-spectacular (Swagger) 中显示请求持续时间

我有一个带有drf-spectacular(Swagger)集成的 Django/DRF 项目,想知道如何添加请求持续时间,如下图所示。有没有办法达到经过的时间部分?提前致谢。

在此处输入图像描述

0 投票
0 回答
31 浏览

django - 带有 drf_spectacular Swagger 的 Django 4 不执行 POST

我有以下使用django-restframeworkand的类drf-spectacular。我可以在登录时通过 drf 默认路由执行 POST,但不能使用这些swagger-ui路由。

我可以去这个网址:http://example.com/api/schema/swagger-ui/#/organism/organism_create

在此处输入图像描述

但是当我点击Execute按钮时,什么都没有发生。我希望显示 CURL 命令等。此外,我在服务器后端看不到响应。与 GET 方法相反。在这里,服务器打印:11/Feb/2022 22:34:02] "GET /api/organism/ HTTP/1.1" 200 275

我确实去了登录,并首先提供了我的用户名和密码。

这个设置有什么问题?

模型.py

序列化程序.py

视图.py

网址.py

设置.py

我尝试了不同的设置。使用BasicAuth..,我得到一个询问用户名和密码的提示,但仍然没有任何反应。

当我尝试使用 Python 的request模块发布内容时,服务器会打印:

但是,这可以使用 DRF 生成的 url:

在此处输入图像描述

GET 请求也有效:

在此处输入图像描述

带有 CURL 的 POST 也可以:

0 投票
1 回答
44 浏览

python - drf-yasg/drf-spectacular - 过滤器参数的描述

编辑:这个问题最初是在使用时发布的,yasg但我切换到了,spectacular所以两种解决方案都可以。

我很好奇是否有办法告诉yasgspectaculardjango-filter参数添加描述。

我想告诉开发人员,该parent字段是一个Country模型pk

模型

筛选

串行器

看法

这是自动生成的招摇:

在此处输入图像描述

是否可以在不编写自定义方案的情况下做到这一点?