Laravel/LumenでDingo APIを使用しています。これまでのところ、正しい HTTP 応答とデータを取得しています。
ただし、Dingo が JSON 文字列を JSON_PRETTY_PRINT に返す方法をフォーマットできるようにしたい
現在、次の形式で JSON を返します。
{"data":[{"id":1},{"id":2},{"id":3},{"id":4},{"id":5}]}
私はそれを次のように出力したい:
{
"data":[
{
"id":1
},
{
"id":2
},
{
"id":3
},
{
"id":4
},
{
"id":5
}
]
}
私のコントローラーファイル:
class ArticleController extends ApiController
{
public function index(Manager $manager, ArticleTransformer $articleTransformer)
{
$articles = Article::take(5)->get();
$collection = new Collection($articles, $articleTransformer);
$data = $manager->createData($collection)->toArray();
return reponse()->json($data, 200, array, JSON_PRETTY_PRINT);
}
}
私のトランスファイル:
class ArticleTransformer extends TransformerAbstract
{
public function transform(Article $article)
{
return [
'id' => (int) $article->id
];
}
public function getDefaultIncludes()
{
}
}