これは私の最初のDingo Api実装です。これは私のDingo Apiトランスが正しく動作しません。トランスの代わりに配列を返す
RoleTrasnformer
クラスです
namespace App\Api\V1\Transformers;
use League\Fractal\TransformerAbstract;
use App\Role;
class RoleTransformer extends TransformerAbstract
{
public function transform(Role $role)
{
return [
'role_id' => (int)$role->id,
'name' => $role->name
];
}
}
私だけrole_id
とname
[
{
"id": 1,
"name": "admin",
"display_name": "Admin",
"description": "Administrator",
"created_at": "2016-07-18 08:11:44",
"updated_at": "2016-07-18 08:11:44"
},
{
"id": 2,
"name": "director",
"display_name": "Director",
"description": "Country Manager",
"created_at": "2016-07-18 08:11:44",
"updated_at": "2016-07-18 08:11:44"
},
{
"id": 3,
"name": "manager",
"display_name": "Manager",
"description": "Team Manager",
"created_at": "2016-07-18 08:11:44",
"updated_at": "2016-07-18 08:11:44"
}
]
を取得することになったがこれはRoleController
namespace App\Http\Controllers;
use Dingo\Api\Routing\Helpers;
use Illuminate\Http\Request;
use Dingo\Api\Http\Response;
use App\Role;
use App\Http\Requests;
use App\Api\V1\Transformers\RoleTransformer;
class RoleController extends Controller
{
use Helpers;
public function index(){
$roles = Role::all();
return $this->response->collection($roles, new RoleTransformer())
->setStatusCode(200);
}
}
です
私が間違っていることがわかりません。グリッチを特定するのを手伝ってください。
public function index(){
$roles = Role::all();
$rt = new RoleTransformer();
return $this->response->collection($roles, $rt->transform($roles))
->setStatusCode(200);
}
それとも、出力のみにコンストラクタを行うことができます。Laravel 5.2とディンゴの[email protected]
を使用して
TIA
が Ariful
溶液を見いだした。 'config/api.php'ではurl接頭辞は' '接頭辞' => env( 'API_PREFIX'、 'api'); 'に設定されていましたが、私のルートでは' api'接頭辞なしでテストしていました。まもなく私は 'api'をルートに設定しました。それは魅力のように働いています。 –