【问题标题】:Laravel: Request data is supposed to be integers but show up as stringLaravel:请求数据应该是整数,但显示为字符串
【发布时间】:2021-05-31 13:33:07
【问题描述】:

这是我作为邮递员的 POST 请求传递的参数

当方法返回 $request 时。所有整数都转换为字符串。

public function update(Request $request){
    return $request;
}

收到的回复如下:

【问题讨论】:

  • 如果不了解您的要求,很难说。对于请求和响应,您的 Content-Type 是什么?
  • Content-Type 是 application/json
  • Postman 可能不知道请求变量的数据类型。

标签: php laravel postman


【解决方案1】:

你可以使用:

intval($yourvalue)

【讨论】:

  • 使用未定义的常量 intval - 假定为“intval”(这将在 PHP 的未来版本中引发错误)
【解决方案2】:

你可以试试filter_input(INPUT_POST, 'visitor_count', FILTER_VALIDATE_INT)

【讨论】:

  • 您将手动过滤多少个请求。laravel 请求中的数据类型不应更改。
  • 但您可能已经将它作为字符串传递。请参阅我在问题下的评论。
  • 不,我已经清楚地传递了一个整数。不只是邮递员。当我使用 Retrofit API 调用此 API 时,它也会转换为字符串,其中 Retrofit 通过数据类型传递数据
  • 你能访问原始请求负载吗?
  • 为避免此答案被删除,请尝试将edit 转为答案而不是问题...
【解决方案3】:

您需要将其转换为整数;请尝试以下方法。

(int)$request->visitor_count;

(int)request()->get('visitor_count');

【讨论】:

    猜你喜欢
    • 2018-01-13
    • 1970-01-01
    • 1970-01-01
    • 2018-08-09
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-17
    相关资源
    最近更新 更多