Appite: Ako injectnuť request a response do BaseControllera?

Čamo
Člen | 798
+
0
-

Skúšal som injektnuť request a response do BaseControllera v Appite aplikácii. Zdá sa že to nieje možné. Ale príde mi že by nemusela každá metoda kontrollera vyzerať takto:
public function paymentMethod(ApiRequest $request, ApiResponse $response): ApiResponse
Prečo to tak je? Prečo sa to nedá injektnuť ako ostatné servisy?
Chcel by som dosiahnuť niečo takéto:

namespace App\Controllers;

use Apitte\Core\Http\ApiRequest;
use Apitte\Core\Http\ApiResponse;

/**
 * @GroupPath("/api")
 * @GroupId("api")
 */
abstract class BaseController implements IController
{

  /**
   * ApiRequest
   */
  public $request;

  /**
   * ApiResponse
   */
  public $response;

  public function __construct(ApiRequest $request, ApiResponse $response)
  {
    $this->request = $request;
    $this->response = $response;
  }

alebo takéto

namespace App\Controllers;

use Apitte\Core\Http\ApiRequest;
use Apitte\Core\Http\ApiResponse;

/**
 * @GroupPath("/api")
 * @GroupId("api")
 */
abstract class BaseController implements IController
{

  /**
   * @inject
   * @var ApiRequest
   */
  public $request;

  /**
   * @inject
   * @var ApiResponse
   */
  public $response;

Editoval Čamo (24. 9. 2021 11:53)

Felix
Nette Core | 1196
+
0
-

Ahoj,

ApiRequest a ApiResponse neni delany jako sluzba. Jsou vytvoreny v ramci lifecycle knihovny Apitte. Je nutne to pouzivat v kazde endpoint metode v controlleru.

Čamo
Člen | 798
+
0
-

Ďakujem. Natíska sa otázka prečo? Ale to už je teda len doplňujúca otázka.

Editoval Čamo (25. 9. 2021 23:34)