问题标签 [fosrestbundle]

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 投票
2 回答
1000 浏览

rest - symfony forms + fos rest

我有两个单向多对一关系中的实体类和两个 fos rest 控制器,它们使用自己的表单类型(如here所述)负责创建、获取、更新和删除它们中的每一个。

在关系(主题)的“多”侧创建新实体时,我想将其与“一”侧(类别)的现有实体链接。Topic 的表单类型如下所示:

但它不接受我的表单请求

或者

我得到的错误是 "category":{"errors":["This value is not valid."]}}

最后,我发现发送

实际工作。但这有点烦人,因为当我使用 GET 获取主题时,我得到

并不是

所以在使用 PUT 进行更新之前,我必须用它的 ID 覆盖类别属性......

我确信有更好的方法来做到这一点。有什么建议吗?

0 投票
3 回答
6661 浏览

api - Symfony 2 - FOSUserBundle - 如何集成到 API

我从事一个新的 Symfony 2 项目。我正在同时学习这个框架。对于用户管理,我使用包 FOSUserBundle。我的项目运行良好,我可以登录、注册、注销和所有其他可用命令。

问题是我想制作智能手机应用程序,它将使用我的 Symfony 应用程序的 API。在应用程序中,用户必须登录或注册。是否也可以对 API 使用 FOSUserBundle 方法?

我研究了另一个用于制作 API 的包,它是 FOSRestBundle。如果没有解决方案,您是否认为我将不得不创建自己的用户方法,例如:

然后,在这个方法中,我重定向到 FOSUserBundle 方法?我只是想知道什么是最好的,最干净的登录方式,并从智能手机注册 FOSUserBundle,所以通过使用 API

0 投票
2 回答
1391 浏览

authentication - FOSRestBundle:为“坏凭证”异常返回 JSON/XML 元数据

我正在为我的 REST API 使用 FOSRestBundle,到目前为止,它一直是一个很棒的工具。我使用 HTTP Basic Auth 并且在大多数情况下它工作得很好。但是,当提交错误的凭据时,我遇到了捆绑包的异常行为问题。处理异常时(通过集成的身份验证处理程序或异常映射配置),捆绑包总是给我一个正确的 HTTP 状态和 JSON/XML 内容的响应,类似于:

这很好,当根本没有提交身份验证信息时它也可以工作。但是,当提交错误的凭据(例如未知的用户名或不正确的密码)时,我会收到带有空消息正文的 HTTP 代码 401 Bad credentials(这很好)。相反,我会期待与上面的 JSON 类似的东西。

这是我这边的错误还是配置问题?我也很想知道捆绑包如何准确处理这些类型的身份验证错误,因为在捆绑包的异常配置部分BadCredentialsException的部分中覆盖 ' 状态代码codes似乎被忽略了。

谢谢!

0 投票
0 回答
98 浏览

symfony - 如何使用 Doctrine/Symfony2 获得完整的结果

我在制定问题的标题时遇到了麻烦。对此表示歉意。

我在“目录”和“类别”之间有一个 OneToMany 关联。我在 Category 上也有一个自引用双向关联(因为一个类别可以包含多个类别)。

问题是当我获取我的目录时,我的目录的类别是空的。我认为 Doctrine 可以返回完整的结果,因为 Category 中有一个外键。

这是我所做的两个代码片段:

我的实体:

我的控制器

请注意,我使用的是 FOSRestBundle。当我模拟 HTTP 请求时,我在 JSON 对象中获取了我的目录,但我的 catalog_categories 是空的。

我的问题分为两部分:是否可以从我的数据库中检索完整的记录,因此我的目录以递归方式包含所有类别。

如果是(我认为这是真的),谁能指出我的错误?

我是 Symfony2 的新手,英语不是我的母语,所以请放纵我。

干杯。

0 投票
2 回答
1330 浏览

symfony - Symfony2 中的供应商 MIME 类型和 API 版本控制与 FOSRestBundle 和 JMSSerializerBundle

我想使用请求标头“接受”来处理资源的不同版本

我想阅读 Accept 标头,提取版本并使用此版本初始化序列化程序!

FOSRestBundle 可以做到这一点吗?

我知道我可以监听 kernel.request,检查“Accept”标头并从 MIME 类型中提取请求的版本,但我不知道如何使用此值设置序列化程序...

我还阅读了 FOSRestBundle 文档,我知道您可以在配置中添加新的 mime 类型:

我需要在这里添加所有可能的 mime 类型(不同版本)?

任何帮助将不胜感激!

0 投票
2 回答
8609 浏览

symfony - FOS\RestBundle,Symfony2 上的“无法识别的选项”

我在Symfony2创建Rest API和使用时遇到问题FOS\RestBundle

当我尝试生成数据库或实体时……无论我尝试生成什么,都会发生错误。

问题似乎出在config.yml

配置.yml

编辑 :

新的config.ymlformat_listener.rules

但我也有错误

有人可以解决我的问题吗?谢谢 !

0 投票
1 回答
2362 浏览

php - Symfony2 FOSRestBundle:需要一个数组但无法在 config.yml 中解析它

我正在使用 friendsofsymfony/rest-bundle": "1.0.*@dev" 捆绑包,尝试从 Symfony 2.2 升级到 Symfony 2.3。在我的 app/config/config.yml 文件中,我正在尝试为fos_rest format_listener:

当我这样做并运行composer.phar install时,它会说

当我将其更改为这样的数组时:

它说

我也试过在'json'周围加上引号,但它仍然说同样的话。当我尝试将此行添加到 format_listener 规则时,会发生类似的错误:

但是相反,它说,Unrecognized options "0, 1, 2, 3" under "fos_rest.format_listener.rules.default_priorities"因为指定了四个值,而不仅仅是一个。

似乎这个包坚持它应该得到一个数组,但是当它被给定一个时,它就无法读取它。

有没有人遇到过这个问题/这是一个错误/有解决这个问题的方法吗?

0 投票
1 回答
3101 浏览

symfony - FOSRestBundle:如何删除 {_format} 参数?

我只需要支持单一的 API 格式,即 JSON,我不喜欢在我的路线中使用 {_format}。是否可以删除它?

0 投票
1 回答
3972 浏览

symfony - 如何使用来自 Symfony2 的 CRUD 的 FOSRestBundle 手动路由?

我正在使用 FOSRestBundle 创建一个 REST 应用程序,但由于 REST 功能只是其中的一部分,我还使用一些 Symfony2 内置自动化工具来生成我的 CRUD 代码。一切正常,但我无法正确映射路线,我将欣赏一些有关如何手动执行此操作的见解和示例。我已经阅读了 FOS 手册中的手动路由定义,说明要使用给定的注释,但是由于 Symfony2 创建的 CRUD 代码使用不同的注释,我该怎么做?

这是一个例子:

FOSRest 手册给出了 GET 的注释为 use FOS\RestBundle\Controller\Annotations\Get;

当我使用路由 as/index时,它给了我一个错误,我在 config.yml 中的路由定义是:

我该如何解决这个问题?

0 投票
2 回答
15421 浏览

symfony - FOSRestBundle:参数的路由和注释

我可以使用@QueryParam()注释获取 GET 参数,但它看起来仅适用于查询字符串数据:/user?id=123.

我宁愿拥有它/user/123。为此,我可能会使用@Get("/user/{id}")注释,但我没有看到它有额外的元数据@QueryParam()

如果我同时使用这两个注释,则会出现错误:

我的冲突文档块:

PS 我需要在路径 ( /user/123) 中有一个 id,而不是在查询中,而且我还需要使用@QueryParam()NelmioApiDocBundle 读取的 ID。我该如何解决这个问题?