我已經使用標準過程來使用API,但是我想從JSON輸出中刪除data
命名空間。我看到我需要實現ArraySerializer,我已經通過分形文檔,但我無法確定需要將它添加到Laravel 5.2中的位置。嘗試通過在Laravel 5.2中實現ArraySerializer來移除分形中的數據
我找到了this answer,但我只是得到了相同的輸出行代碼我註釋掉:
class TrackController extends ApiController
{
public function index()
{
$tracks = Track::all();
//return $this->respondWithCollection($tracks, new TrackTransformer);
// Same response as the commented out line above
$response = new \League\Fractal\Resource\Collection($tracks, new TrackTransformer);
$manager = new \League\Fractal\Manager();
$manager->setSerializer(new \League\Fractal\Serializer\ArraySerializer());
return response()->json($manager->createData($response)->toArray());
}
public function show($id)
{
$track = Track::find($id);
return $this->respondWithItem($track, new TrackTransformer);
}
}
而且,我是一個特定的控制器上實現這一點,就算我得到了這個工作,我在哪裏添加代碼/類,所以我可以得到ArraySerializer這樣輸出的所有我的控制器?
我已經posted this on Github如果有幫助。
的第一印象,我想你應該移動 '$響應=新\聯賽\分形\資源\集($曲目,新TrackTransformer);' 後你設置串行器 –
我將它移動到哪裏? –
'$ manager = new \ League \ Fractal \ Manager(); $ manager-> setSerializer(new \ League \ Fractal \ Serializer \ ArraySerializer()); $ response = new \ League \ Fractal \ Resource \ Collection($ tracks,new TrackTransformer); ' –