问题标签 [nelmioapidocbundle]

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 投票
0 回答
1851 浏览

rest - 覆盖 nelmio api doc 上的 @param doc

我有一个使用 ParamConverter Symfony 服务的 REST 控制器,使用 nelmio api doc annotation:

api 文档已正确呈现,但显示了Plan需求类型:

在此处输入图像描述

我想将我的参数重命名为plan_id并指定integer类型。

所以我尝试了一些requirements选项,如下所示:

但现在它向我展示了两个参数:

在此处输入图像描述

@param从 api doc 覆盖或删除标签的最佳和正确方法是什么?当然,如果不将其从评论文档中删除...

谢谢你的帮助!

0 投票
2 回答
2180 浏览

php - Nelmio Api Doc 中的组排除在更新作曲家后不起作用

我将参数设置为数组,如http://jmsyst.com/libs/serializer/master/reference/annotations中所述

并在另一个类中定义一些选项

在@ApiDoc 我定义

在更新之前它运行良好。但是composer update只有“QuestionAnswer”组名有效并且它显示了 QuestionOptions 类的所有属性。如何以更新前的方式提交数组中的属性?

0 投票
1 回答
1228 浏览

symfony - 在 nelmio 沙箱中添加 oauth2 支持

我正在研究 Symfony2 中的 REST API(使用 FosRestBundle 创建)。

在启用 oauth 之前,我可以尝试nelmio提供的沙箱中的 API 方法。

例子:

但是,现在启用了 oauth 以调用 API 方法,我必须将 oauth 令牌添加为查询字符串。

例子:

这些 api 调用在 nelmio 之外工作,没有任何问题。

为了在 nelmio 中激活对 oauth 的支持,我添加了以下配置/app/config.yml

之后它会在屏幕顶部询问一个api key,但是如果我在那里设置了 oauth 令牌,我在尝试使用沙箱时仍然会收到未经授权的响应。

知道如何解决这个问题吗?

0 投票
2 回答
2128 浏览

php - 在 routing_dev.yml 中检测到循环引用

我对这个循环参考问题感到疯狂,我找不到我做错了什么。这是的内容/app/config/routing.yml

这是的内容/app/config/routing_dev.yml

最后是以下内容/src/PDI/PDOneBundle/Resources/config/routing.yml

每当我在devenv 尝试一些 URL 时,我都会收到此错误:

Classes.php 第 7527 行中的 FileLoaderImportCircularReferenceException:在“/var/www/html/reptooln_admin/app/config/routing_dev.yml”中检测到循环引用(“/var/www/html/reptooln_admin/app/config/routing_dev.yml”> “/var/www/html/reptooln_admin/app/config/routing.yml” > “/var/www/html/reptooln_admin/src/PDI/PDOneBundle/Resources/config/routing.yml”

“/var/www/html/reptooln_admin/app/config/routing_dev.yml”)。

这是完整的堆栈跟踪|日志:

问题出在哪里?我做错了什么?我正在尝试设置 NelmioApiDoc 和 FOSRestBundle

编辑 1

我已经修复了上一个问题,但得到了另一个类似的问题。这是我所做的更改。

并将错误更改为:

Classes.php 第 13960 行中的 FileLoaderImportCircularReferenceException:在“/var/www/html/reptooln_admin/app/config/routing_dev.yml”中检测到循环引用(“/var/www/html/reptooln_admin/app/config/routing_dev.yml”> “/var/www/html/reptooln_admin/app/config/routing.yml” > “/var/www/html/reptooln_admin/src/PDI/PDOneBundle/Resources/config/routing.yml”

“PDOneBundle\Controller\Rest\CompanyRestController”>“/var/www/html/reptooln_admin/app/config/routing_dev.yml”)。

问题出在/src/PDI/PDOneBundle/Resources/config/routing.yml哪里?不能在同一个 YML 文件中生活annotation和输入?rest我该如何处理?

0 投票
0 回答
89 浏览

mongodb - NelmioApiDocBundle 无法解析 mongoDB 文档

我使用 NelmioApiDocBundle 来记录我的 API-Rest。如果我使用实体类,则会正确创建文档(输入和输出)。尽管如此,Nelmio 并没有为 MongoDB 的 Document 类创建文档:(

有任何想法吗?

0 投票
0 回答
695 浏览

php - 带有路由参数的 FOSRestBundle“缺少一些强制参数 (id)”

我正在使用带有 FOSRestBundle 的 Symfony 2.7.3 来构建一个 REST api。我的模型有user并且有tickets. 用户可以拥有票证,我想通过调用 /user/{id}/tickets 端点来获取用户票证。我的 api 有页面和限制查询参数。我param_fetch_listener: force用来注入我的方法参数。我正在尝试混合路由参数和查询参数,但出现错误"Some mandatory parameters are missing (id)"。我的方法注释是:

当我到达终点时,我收到错误:"Some mandatory parameters are missing (\"id\") to generate a URL for route \"api_1_get_users_tickets\".". 关于如何解决它的任何想法?谢谢!


编辑:上面的代码工作正常。错误消息与我里面的一些代码有关// my code。我用空返回尝试了我的方法,它奏效了。我在一些内部逻辑中丢失了我的身份。对困惑感到抱歉。我会考虑关闭此问题,或者将其保留在这里以供将来参考。谢谢!

0 投票
1 回答
7179 浏览

php - Nelmio Api Doc Bundle:记录所需参数

我目前正在使用 NelmioApiDocBundle,对此我还不是很熟悉。我正在编写的 API 必须提供更改特定用户密码的路径。文档应说明,要更改密码,旧密码和新密码都需要。由于我没有找到 和 之间区别的解释RequirementsParameters我猜第一个用于来自路由的数据,而后者用于 API 调用本身。

归档此类文档的第一次尝试是实现一个简单的模型,然后 JMSSerializerBundle 会自动转换:

控制器通过此操作方法接受 API 调用:

这导致文档显示username为需求old_passwordnew_password参数。为了根据需要标记这些参数,我通过注释向属性添加了 Symfony 约束:

但是,虽然使用这些注释标记了所需的属性,但它确实会产生奇怪的输出:

奇怪的文档

注意到参数被添加了两次而且格式不同吗?添加@SerializedName("old_password")没有效果。关于这张票,问题仍然没有解决。

另一种接受动作数据的方法是使用自定义表单,它确实将属性标记为需要,但也不会生成正确的输出。更改ChangePasswordParam自定义表单:

导致此参数描述: 再次奇怪的文档

这些参数应该命名为“old_password”和“new_password”,我不知道如何归档。

提前致谢

0 投票
1 回答
2008 浏览

symfony - 如何从 NelmioApiDocBundle 生成的文档中删除 _format URL 后缀?

我已经NelmioApiDocBundle在 Symfony 中为我的新的面向 API 的项目安装了这个,我无法摆脱.{_format}这个包添加到我所有端点 URL 的后缀。

这是它的外观:

带有格式后缀的 NelmioApiDocBundle 的屏幕截图

我的 API 不支持_formatas 后缀。它确实支持它作为查询参数或请求标头。因此,如果我尝试从 NelmioApiDocBundle 沙箱向此端点发出请求,它会收到 404 错误响应。

这是我当前关于 nelmio 的 config.yml 部分:

yml nelmio_api_doc: name: My API doc sandbox: enabled: true endpoint: null accept_type: application/json body_format: formats: null default_format: json request_format: formats: json: application/json xml: null method: accept_header default_format: json authentication: name: bearer delivery: query cache: enabled: false file: '%kernel.cache_dir%/api-doc.cache'

0 投票
3 回答
8624 浏览

symfony - 如何在 Nelmio ApiDocBundle 中指定参数的格式

我使用注释的input属性@ApiDoc来指定我的 api 的参数,这些参数是表单的字段。

data_classof form 是一个对属性进行约束验证的实体。

我希望 nelmio api doc 将参数格式指定为实体的验证约束,但格式为空。

在此处输入图像描述

如何在 nelmio ApiDocBundle 中指定参数格式?


编辑:也许我写了一个不好的问题。

我们可以为input&指定解析器output,如果我们没有为这些指定解析器,它会为input&调用所有解析器output,然后调用所有解析器UserType

nelmio有一个名为ValidationParser的解析器,它有一个名为parseConstraint的方法,用于设置format输入和输出,但我的文档没有调用此方法,为什么?

0 投票
0 回答
156 浏览

forms - 使用带有嵌套表单的 FormType 时,NelmioApiDocBundle 会生成额外的输入

我使用 NelmioApiDocBundle 来生成 API 文档。问题是当我使用带有嵌套表单或按钮(提交/取消)的 FormType 时,我得到了额外的参数。这是我的表单类型:

在我的控制器中:

结果

如何删除这些额外参数(用户、联系人、验证者)?