XE 3 (Xpressengine3) API Controller 만들기.
 

컨트롤러의 반환 값으로 Xpressenter::make($data)를 반환시켜 주세요.

XePresenter::makeApi($data);
 

makeApi, 위치: \core\src\Xpressengine\Presenter\Presenter.php

클래스내 api 프로퍼티를 true로 변경, html 프로퍼티를 false로 변경 시켜 프레젠터(Presenter)가 API만 처리하도록 변경합니다.

XE3 에서 설명하고 있는 프레젠터에 대해 더 자세히 알고 싶으면 아래 문서를 참고해 주세요.

https://www.xpressengine.com/guide/developer-docs/presenter

/**
 * API 지원하는 renderer 반환
 * html 지원 안하지 않고 api만 처리 할 경우 사용
 *
 * @param array $data      data
 * @param array $mergeData merge data
 * @return Presentable
 */
public function makeApi(array $data = [], array $mergeData = [])
{
    return $this->make(null, $data, $mergeData, false, true);
}

 

 

예시 코드

<?php

declare(strict_types=1);

namespace Xpressengine\XePlugin\Custom\Controllers;

use XePresnter;
use App\Http\Controllers\Controller;
use Xpressengine\Http\Request;

final class CustomController extends Controller
{
    public function index(Request $request)
    {
        XePresnter::makeApi(['data' => $data]);
    }
}
  • share