Передать параметры на перенаправление внутри - PullRequest
0 голосов
/ 06 марта 2020

У меня есть конечная точка, которая что-то делает (facade-endpoint), а затем перенаправляет на другую конечную точку (endpoint) в том же приложении. Здесь я пытаюсь передать несколько параметров перенаправления, но не хочу, чтобы другие передавали их при непосредственном вызове второй конечной точки.

Например:

public function facadeEndpoint(FacadeEndpointRequest $request)
{
  $var1 = SomeClass::doSomething();
  $var2 = SomeClass::doSomethingElse();

  $request = Request::create('endpoint', 'GET');
  return app()->handle($request); // I want to pass $var1 and $var2 here, so that they don't get recalculated once again after the redirection
}

public function endpoint(EndpointRequest $request)
{
  $var1 = SomeClass::doSomething();
  $var2 = SomeClass::doSomethingElse(); // If the request came from facade-endpoint, I want to use passed values instead of calling SomeClass functions again

  // do something...
}

Однако, как я уже говорил, я не хочу, чтобы люди могли напрямую передавать $var1 или $var2 на запрос - они должны быть только рассчитывается в приложении.

Возможно ли это?

1 Ответ

0 голосов
/ 06 марта 2020

Может быть, вы можете добавить дополнительный параметр, чтобы указать, что он поступил из конечной точки фасада.

$request = Request::create('endpoint', 'GET', ['internal' => true]);

Затем, когда вы получите запрос в своей конечной точке, вы можете проверить, существует ли он.

if ($request->has('internal')) {
  // from facade endpoint
} else {
  // called directly
}

Проблема в том, что это GET-запрос, состоит в том, что параметры будут присутствовать в URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...