【问题标题】:Symfony Forms - handling several request methodsSymfony Forms - 处理几种请求方法
【发布时间】:2017-07-26 00:08:44
【问题描述】:

在我们的旧项目中,有一个 API,用户可以通过 GET 和 POST 请求提交数据。是否可以通过一种形式同时处理 GET 和 POST 请求?

【问题讨论】:

  • 到目前为止你有什么尝试?你得到了什么错误?

标签: symfony symfony-forms


【解决方案1】:

您可以在控制器中创建两种不同的方法,然后通过路由确定如何处理 GET 或 POST 请求。注意以下两条路线是相同的,但我们限制了请求方法。路线名称必须不同

/**
 * This method accepts on GET or PUT
 * @Route("/view/{id}", name="blueprint_view")
 * @Method({"GET", "PUT"})
 */
 public function viewAction(Request $request, $id)
 {
    ....
 }


 /**
 * The method accepts POST
 *
 * @Route("/view/{id}", name="blueprint_post_view")
 * @Method({"POST"})
 */
 public function viewPostAction(Request $request, $id)
 {
    ....
 }

现在,在您的方法中,您可以知道会发生什么以及如何解析请求参数。

【讨论】:

  • 我不认为它会起作用 - symfony 表单有选项“方法”用于确定它使用哪种方法,这就是为什么 handleRequest 不会同时处理 GET 和 POST。
  • 两者都可以。检查文档。如果 Symfony 不允许处理 GET,为什么还要允许表单设置方法?
  • 为了帮助澄清,请参阅另一个问题的答案。 stackoverflow.com/questions/19308945/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-15
  • 2013-01-03
  • 2021-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-07
相关资源
最近更新 更多