我正在使用Symfony2和fos restbundle开发一个应用程序。我想创建一些API路由和一些常规路由(AngularJS前端正好有一个)。这是我的fos_rest配置(以及sensio的一些配置行):
sensio_framework_extra:view:{annotations:false}路由器:{annotations:true}请求:{converters:true}fos_rest:routing_loader:default_format:json include_format:true param_fetcher_listener:force body_listener:true allowed_methods_listener:true view:view_response_listener:'force'format:json:true xml:true format_listener:rules:-{路径:'^/api',优先级:['json',xml'],fallback_format:json,首选_extension:true}访问被拒绝\u侦听器:json:true
如你所见,我view_response_listener启用和查看注释禁用。我找不到方法来定义常规(不是REST)路由(和视图)的索引操作(AngularJS的必要条件)。不断得到一个错误:
ERROR - Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotAcceptableHttpException: "No matching accepted Response format could be determined" at C:\wamp\www\CRMProject\vendor\friendsofsymfony\rest-bundle\EventListener\FormatListener.php line 69
我将感谢任何帮助。
正如官方文档中所建议的,您还可以为站点的“正常”部分(而不是API)禁用格式侦听器:
通常,在将此捆绑包与现有应用程序集成时,禁用某些路由的格式侦听器可能会很有用。在这种情况下,可以定义一个规则,通过将stop设置为true作为规则选项来阻止格式侦听器确定格式。包含此设置的任何规则和以下任何规则都将不被考虑,请求格式将保持不变。
# app/config/config.yml
fos_rest:
format_listener:
enabled: true
rules:
- { path: '^/api', priorities: ['json', 'xml'], fallback_format: json, prefer_extension: false }
- { path: '^/', stop: true } # Available for version >= 1.5
您可以为索引页添加其他规则(例如):
format_listener:
rules:
- { path: '^/api', priorities: ['json', 'xml'], fallback_format: json, prefer_extension: true }
- { path: '^/', priorities: [ 'text/html', '*/*'], fallback_format: html, prefer_extension: true }
阅读有关格式侦听器的文档:http://symfony.com/doc/current/bundles/FOSRestBundle/format_listener.html
问题内容: 命名空间Python程序包(no )和常规Python程序包(具有)之间有什么区别,尤其是对于常规程序包为空时? 我很好奇,因为最近我一直忘了自己制作的包装,而且我从没发现任何问题。实际上,它们的行为似乎与常规软件包相同。 编辑:命名空间包仅受Python 3.3支持(请参阅PEP 420 ),因此自然地,此问题仅适用于Python 3。 问题答案: 阅读Aaron和PEP420的链接
使用情况数据 共享使用情况数据 如果你想让设备发送有关你如何使用 Navicat Data Modeler 的信息来帮助我们进行改进,可勾选这个选项。你可以点击“使用情况数据”按钮来查看正在共享的信息。 更新 自动检查更新 勾选这个选项允许 Navicat Data Modeler 在已选择的时间自动检查新的版本。 包括匿名的系统配置文件 如果你想在 Navicat Data Modeler 检查
常规 布景主题 选择使用 Windows OS 的布景主题还是深色主题。 【提示】需要重新启动 Navicat Data Modeler 才生效。 语言 选择 Navicat Data Modeler 界面显示的语言。 【提示】需要重新启动 Navicat Data Modeler 才生效。 显示工具栏标题 在 Navicat Data Modeler 工具栏按钮显示文本。否则,只有按钮显示。 【
常规 布景主题 选择使用 Windows OS 的布景主题还是深色主题。 【提示】需要重新启动 Navicat 才生效。 语言 选择 Navicat 界面显示的语言。 【提示】需要重新启动 Navicat 才生效。 允许重复运行 Navicat 如果你想打开多个 Navicat 实例,可勾选这个选项。取消勾选此项目意味著当双击 Navicat 快捷方式时,将会重新启动正在运行的 Navicat 实
主窗口 在导航窗格中的模式下显示对象 在导航窗格使用树状结构显示数据库对象。若要展开節點,简单地双击它。 【提示】需要重新打开数据库或模式才生效。 字体 定义对象列表使用的字体和字体大小。 使用默认字体 若要使用默认的字体设置,可勾选这个选项。 数据库项目 如果表没有主键,则发出警告 当打开没有设置主键的表时,如果你需要通知,可勾选这个选项。 显示函数向导 当你创建新的函数或过程时,显示函数向导(
常规 语言 选择 Navicat 界面显示的语言。 【提示】需要重新启动 Navicat 才生效。 允许重复打开相同的对象 如果你想允许一个对象可打开多个实例,可勾选这个选项。 在导航窗格中的模式下显示对象 在导航窗格使用树状结构显示数据库对象。若要展开节点,简单地双击它。 【提示】需要重新打开数据库或模式才生效。 显示函数向导 当你创建新的函数或过程时,显示函数向导(MySQL、Oracle、P