前提准备:
- use Dingo\Api\Routing\Helpers Trait
- 通过response,格式化数据
- Transformer 与 Model 层一一对应的
参考资料:
- dingo/api Transformer:
- Fractal:
1. 针对Model写Transformers层
2. 写Transformer
说明:
- 主要是对返回数据进行封装
例子:
// Model 层
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Lesson extends Model
{
}
// Transformer 层
<?php
namespace App\Api\Transformers;
use League\Fractal\TransformerAbstract;
use App\Lesson;
class LessonTransformer extends TransformerAbstract
{
public function transform(Lesson $lesson) {
return [
'title' => $lesson['title'],
'content' => $lesson['body'],
'is_free' => (boolean) $lesson['free']
];
}
}
3. 响应部分
参考 第4部分 - 响应部分