我有下面的代码将国家信息保存在数据库中。下面的代码工作正常。这没有问题。现在在Laravel 5.2中将请求对象转换为JSON
private function SaveChanges(\App\Http\Requests\CountryRequest $request) {
if($request['CountryID'] == 0) {
$Country = new \App\Models\CountryModel();
}
else {
$Country = $this->GetCountry($request['CountryID']);
}
$Country->Country = $request['Country'];
$Country->CountryCode = $request['CountryCode'];
$Country->save();
return redirect()->route($this->AllCountries);
}
,我决定上述方法的工作移位一类新的内像的下方。在这里,我读了JSON数据
class CountryData {
public function CreateCountry($CountryObject) {
$obj = json_decode($CountryObject);
$Country = new \App\Models\CountryModel();
$Country->Country = $CountryObject->Country;
$Country->CountryCode = $CountryObject->CountryCode;
$Country->save();
return true;
}
}
和原有功能改变像下面。以JSON的形式发送Request参数。
private function SaveChanges(\App\Http\Requests\CountryRequest $request) {
$data = array(
'Country' => $request['Country'],
'CountryCode' => $request['CountryCode'],
'CountryID' => $request['CountryID']
);
if($request['CountryID'] == 0) {
$result = (new \CountryData())->CreateCountry(json_encode($data));
}
return redirect()->route($this->AllCountries);
}
问题:是我的做法正确转换请求对象发送到JSON对象和读取的其他类。
我这样做,以便我可以创建一个新的控制器,并从类CountryData调用CreateCountry来返回Android应用程序的JSON数据。
当你可以发送数组并跳过'json_encode'和'json_decode'时,看起来像是浪费时间。你有没有理由需要这个json? – user3158900
@ user3158900:我这样做是为了创建一个新的控制器,并从类CountryData中调用CreateCountry来返回Android应用程序的JSON数据。 – Pankaj