Я использую Laravel 5.4. Я создал контроллер с помощью интерфейса:Невозможно отобразить запрос тела json в объект ответного ответа
$php artisan make:controller --resource
Я реализует то метод store(Request $request)
таким образом:
public function store(MyCustomObject $request)
{
return $request;
}
Я использую правильный MyCustomObject
внутри Controller
, и мой собственный Объектом является следующее:
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";
}
}
Затем я использую следующий орган на остальном клиенте (с помощью приложения/json содержание):
{"text":"Hello, World!"}
Но мой ответ пуст, так что JSON не отображается в MyCustomObject.
Что я делаю неправильно?
Что произойдет, если вы 'dd ($ request);' перед возвратом? – Samsquanch
'MyCustomObject {# 181 -text: null }' – abierto
Ну, я бы сказал, что это ожидалось, так как вы ни разу не устанавливаете '$ request-> setText()'. Что вы пытаетесь сделать здесь? Я думаю, что есть некоторые проблемы с тем, что вы пытаетесь сделать против подхода, который вы принимаете. – Samsquanch