首页 > 解决方案 > 在 Laravel APIs 中发布 json 数据还是只发布键值对更好?

问题描述

我已经在 Laravel 中开发了 Api,现在我的一名团队成员说我将在 api 调用期间以 Json 格式发布数据。现在我该怎么办?

以 Json 格式发布数据还是只使用键值对更好?请帮忙

标签: laravellaravel-5eloquentlaravel-5.2laravel-5.1

解决方案


我建议使用 laravel 资源

来自文档:

    class User extends JsonResource
    {
        /**
        * Transform the resource into an array.
        *
        * @param  \Illuminate\Http\Request
        * @return array
        */
        public function toArray($request)
        {
            return [
               'id' => $this->id,
               'name' => $this->name,
               'email' => $this->email,
               'created_at' => $this->created_at,
               'updated_at' => $this->updated_at,
           ];
        }
    }

如果你想返回一个对象

Route::get('/user', function () {
    return new UserResource(User::find(1));
});

如果你想返回一个集合

Route::get('/user', function () {
    return UserResource::collection(User::all());
});

通过这种方式,您可以控制路由返回的内容,默认为 json

https://laravel.com/docs/5.6/eloquent-resources


推荐阅读