1

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()
    {

    }
}
4

0 に答える 0