0
私はLaravel 5.4を使用しています。 私は、CLIを使用してコントローラを作成しました:リクエストボディjsonを注入応答オブジェクトにマップできません
$php artisan make:controller --resource
私はstore(Request $request)
方法、この方法を実装しています:
public function store(MyCustomObject $request)
{
return $request;
}
私はController
内部の正しい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";
}
}
次に、残りのクライアントで次のボディを使用しています(application/json conを使用しています)。テント):
{"text":"Hello, World!"}
しかし、そのjsonはMyCustomObjectにマップされていないので、私の応答は空です。
私は間違っていますか?
戻る前に 'dd($ request);'を実行するとどうなりますか? – Samsquanch
'MyCustomObject {#181 -text:null }' – abierto
まあ、私は '$ request-> setText()'を設定していないので期待しています。ここで何を達成しようとしていますか?あなたがやろうとしていることと、あなたが取っているアプローチとの間に問題があると思います。 – Samsquanch