php - 如何从 symfony Controller 抛出 400 错误请求?

标签 php symfony

我设置了一个非常简单的 Symfony 3.3 Controller stub ,其主要操作如下所示:

/**
 * @Route("/pair-gallery/{id}")
 */
public function indexAction(Int $id)
{
    $output = [];
    return new JsonResponse($output);
}

当我给它一个字符串作为 url 中的参数(而不是整数)时,我目前收到 500 错误。这并不可怕,但这并不是我想要的。

我如何告诉 Symfony 发回 400(“错误请求”)响应代码?

最佳答案

您可以简单地抛出一个自动转换为 HTTP 400 响应的异常:

throw new BadRequestHttpException('Message');

如果您想具体说明抛出的 http 错误代码(也许您想抛出一个模糊的错误代码,如 418),您可以将其作为第三个参数传递:

throw new BadRequestHttpException('Message', null, 418);

关于php - 如何从 symfony Controller 抛出 400 错误请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49252532/

相关文章:

php - 使用 AJAX 发送变量到 2 个 php 页面

php - 如何一次编辑数据库中的多个值

php - Symfony2 : Unable to simulate HTTP authentication in functional test

symfony - 为什么 UrlGenerator 在 Silex 中生成没有主机和方案的路径?

php - 在表单中使用 DateIntervalType 类

php - 包括当前目录中的 Twig 文件

css - Symfony2 Assetic CSS 重写外包

php - 从 PHP 脚本获取 Apache 配置

php - 向 woocommerce_email_customer_details 或电子邮件的任何其他部分添加一个新字段

php - 用于下载 Microsoft Word 和 Excel 文件的 http header