Php Can';将请求主体json映射到注入的响应对象中

Php Can';将请求主体json映射到注入的响应对象中,php,laravel,controller,request,Php,Laravel,Controller,Request,我用的是Laravel 5.4。 我已使用cli创建了一个控制器: $php artisan make:controller --resource 然后,我以这种方式实现存储(Request$Request)方法: public function store(MyCustomObject $request) { return $request; } 我在控制器内使用正确的MyCustomObject,我的自定义对象如下: class MyCustomObject { /**

我用的是Laravel 5.4。 我已使用cli创建了一个控制器:

$php artisan make:controller --resource
然后,我以这种方式实现
存储(Request$Request)
方法:

public function store(MyCustomObject $request)
{
    return $request;
}
我在
控制器内使用正确的
MyCustomObject
,我的自定义对象如下:

class MyCustomObject 
{
    /** @var string text */
    private $text;

    /**
     * text getter method
     * @return string $text
     */
    public function getText()
    {
        return $this->text;
    }

    /**
     * text setter method
     * @param string $text $text
     */
    public function setText(string $text)
    {
        $this->text = $text;
    }

    /**
     * toString method
     * @return string class string conversion
     */
    public function __toString()
    {
        return "$this->text";
    }
}
然后,我在rest客户机上使用以下主体(使用application/json内容):

但我的响应是空的,因为json没有映射到MyCustomObject

我做错了什么?

尝试使用JSON

return response()->json($request->all());

它将把响应作为JSON对象发送给您。另外,使用
$request->all()
$request->text

如果使用
dd($request),会发生什么情况返回之前?
MyCustomObject{181-text:null}
好吧,我想说这是意料之中的,因为在任何时候你都没有设置
$request->setText()
。你想在这里完成什么?我认为你试图做的和你采取的方法之间存在一些问题。
return response()->json($request->all());