对于REST服务,Symfony开发人员(和cookbook)倾向于将资源表示的选择基于文件扩展而不是内容协商请参阅此stackoverflow问题 )。

例:

article_show:
  pattern:  /articles/{culture}/{year}/{title}.{_format}
  defaults: { _controller: AcmeDemoBundle:Article:show, _format: html }
  requirements:
      culture:  en|fr
      _format:  html|rss
      year:     \d+

是否存在在服务器端实现正确内容协商的捆绑/方式?

实现了开关/箱型算法_formatencoders的控制器是到那里的唯一途径?

===============>>#1 票数:3 已采纳

Checkout https://github.com/FriendsOfSymfony/FOSRestBundle ,“格式监听器”部分......

  ask by Brian Clozel translate from so

未解决问题?本站智能推荐:

2回复

将HTTP请求标头与Symfony路由一起使用以返回不同的内容(html / json)

我正在使用FOSRestBundle开发REST API,并且希望能够根据请求的Accept标头使用相同的URL返回HTML和JSON。 即,如果您直接从浏览器调用URL( Accept : text/html等),则从树枝文件返回HTML;如果您提出AJAX请求( Accept : appl
1回复

在Symfony2上,如何在RequestListener中检索允许的被调用路由的HTTP方法?

全部都在标题中, 我想在RequestListener中检索当前称为Action的注释中允许的HTTP @Method({"GET", "POST"}) 。
1回复

symfony2 http缓存失去自定义响应头

我已经使用Symfony 2和fos REST包实现了一个REST API。 我还使用nelmio CORS包来管理响应上的CORS头。 一切正常。 现在,我已经在我的一个REST API端点上实现了HTTP缓存 (数据库中很少更改的实体集合)。 HTTP缓存工作正常但是这个
1回复

Symfony 2.0和REST

将REST与Symfony 2.0一起使用的最佳实践是什么? 我在SO上发现了许多讨论Symfony 1.4(及更低版本)的问题,但对于2.0没有任何问题。
1回复

如何在Symfony 2 Response对象中返回419 HTTP状态

我目前正在研究Symfony 2中的HTTP API,我已经为其实现了OAuth2密码凭据以进行身份​​验证。 在身份验证时,客户端收到两个令牌,一个访问权限和一个刷新令牌。 不知何故,我需要能够通知客户端访问令牌不再有效,并且必须使用刷新令牌来获取新的访问令牌。 我已经浏览了HT
2回复

在Laravel 4中向内部请求添加标头

我有一个使用Laravel 4构建的以API为中心的设置,包括REST API,前端和管理面板。 前端和管理员都使用内部请求来使用API​​。 我发出这样的内部请求: 一切正常。 现在我想使用类似于AWS的方法保护API,当我创建上面的请求时,我还想设置一些自定义标头(ap
1回复

访问rest api中的自定义标头信息

有没有办法使用fosrest访问自定义标题信息? 我已经在我的客户端添加了标题数据,但我不知道如何在我的服务器中获取它。 我不希望通过get或post传递此参数,它是一个永久值,如代码或其他东西,将在每个请求中,根据用户进行更改。 谢谢。
1回复

Symfony HTTP PUT 2.6奇怪的行为(404)

我有一个Symfony 2.6设置,我想添加一个HTTP PUT请求。 我所有的POST和GET请求都可以正常工作,但是通过PUT我得到了404。 HTTP GET请求: http : //example.com/dfsfdfsfd响应:找不到“ GET / dfsfdfsfd”的路由:
2回复

为Symfony约束验证失败设置http代码

简而言之:当实体保存约束失败时,如何设置特定的http错误代码而不是通用500? 细节 我使用Symfony自定义约束@UniqueEntity ( http://symfony.com/doc/current/reference/constraints/UniqueEntity.h
1回复

Symfony内容始终为空

我有一个Symfony2项目,但我完全迷路了。 我希望能够得到评论。 在服务器端,我有: 在客户端,我有: 对于使用,我有: 刷新预订功能有效。 但是应该如此。 当我使用,{'comment':“ comment”}进行API.get调用时。 评论始终为空?