Php Can';将请求主体json映射到注入的响应对象中
我用的是Laravel 5.4。 我已使用cli创建了一个控制器: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 { /**
$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());