post json 数据还是 Laravel API 中的键值对更好?

Is it better to post json data or just key-value pairs in Laravel Apis?

我已经在 Laravel 中开发了 Api 现在我的一位团队成员说我将 post 在 api 期间以 Json 格式的数据称呼。现在我该怎么办?

post 数据采用 Json 格式还是只使用键值对更好? 请帮助

Json 非常容易操作,php 和 JavaScript 都可以访问。将您网站的数据解析为 json 打开了一扇宽阔的可能性之门,否则很难做到。如果您正在使用 laravel,您可以使用 json_encode 和 json_decode() 函数来回解析数据或 JSON 助手 class

我建议使用 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,
           ];
        }
    }

如果你想return一个object

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

如果你想return一个collection

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

通过这种方式您可以控制路由正在 return 编辑的内容,它将默认为 json

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

"Better" 是非常主观的。没有什么适合每个用例(尤其是在处理遗留代码时),但通常 API 中的数据使用 JSON(在大多数 REST API 中)或 XML(用于 SOAP)。不过,这里有一些事情需要考虑: 1) REST 是不可知论者,因为它关心 none 您对数据使用的格式,因此有些应用程序可以将数据传输为 csv、JSON、XML 或您可以使用的任何其他格式想象。

2) 我相信真正的无头 API 最常见的事情是 JSON.

3) 正如之前提到的那样,JSON 与其他经常用于使用 API 的语言配合得很好。大多数情况下,如果我正在使用 API,它是在 Java 脚本、Java 或 Python 中,而这三个都非常 "JSON friendly"。出于这个原因,这将是我的首选格式。

4) 考虑现在和将来会消耗您的 API 的东西,并使其尽可能地发挥最佳作用并 "future proof"。

5) 其他人稍后必须阅读您的代码。使用定义明确、文档齐全的格式比破译某些方法要容易得多,您必须从字符串中解析数据或处理某些自定义 manner.Sticking 中的数组,例如 JSON REST 标准将对此有所帮助。

6) Laravel response()->json() 已经可以从你的控制器中获得了。再加上 JS 的原生 JSON 方法,它们似乎注定要结合在一起。

不过这只是我的看法。