小编Mug*_*uck的帖子

Laravel 5.6 如何将第三方 API 数据转换为集合资源?

我一直致力于为我们的各种 Web 应用程序创建一个干净的界面,但我遇到了 Laravel 的 API 资源无法将传入的 json 数组正确转换为 Laravel 集合的问题。

我可以用一个资源做到这一点:

    namespace App\Http\Resources;

use Illuminate\Http\Resources\Json\Resource;
use App\Product;

class ProductResource extends Resource
{
    /**
     * Transform the resource into an array.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    public function toArray($request)
    {
        return [
            'name' => $this->resource['product']['name'],
            'description' => $this->resource['product']['description'],
            'price' => $this->resource['product']['rental_rate']['price']
        ];

        //return parent::toArray($request);
    }
}
Run Code Online (Sandbox Code Playgroud)

打印此响应输出:

{"name":"Arri Skypanel S60-C","description":"Arri Sky Panel S60-C 450w input with a 2000w tungsten equivalent & Combo Stand","price":"260.0"}
Run Code Online (Sandbox Code Playgroud)

然而,试图将这个单一的项目变成一个项目的集合是行不通的。

有人知道我错过了什么吗?

拉取 …

php api-design data-conversion laravel-5

5
推荐指数
1
解决办法
2818
查看次数

标签 统计

api-design ×1

data-conversion ×1

laravel-5 ×1

php ×1