答案 0 :(得分:0)
我误解了为什么需要将返回类型声明为字符串。但是,实际上您希望将数据作为json响应。
答案 1 :(得分:0)
通过将返回类型提示为string
,您将使PHP将response()->json()
的返回类型\Illuminate\Http\JsonResponse
强制转换为字符串。这将导致它调用__toString()
方法
如下所示:
public function __toString()
{
return
sprintf('HTTP/%s %s %s', $this->version, $this->statusCode, $this->statusText)."\r\n".
$this->headers."\r\n".
$this->getContent();
}
我建议您将返回类型键入为\Illuminate\Http\JsonResponse
,而不是string
,因为这就是您要返回的内容。如果您真的要返回string
,则可以执行return response()->json()->getContent();
,但是您需要标头(因为返回的是json,所以Content-Type
标头就变得很重要)