Laravel API-метод с другим ответом - PullRequest
0 голосов
/ 28 апреля 2020

Я строю сервер Api на основе Laravel 6. У меня есть конечная точка для неавторизованного запроса. GET: /user/dummyuser Этот метод возвращает JSON данные для Dummyuser. Это нормально.

Но, если я передаю токен как параметр GET в той же конечной точке, мне нужно получить данные дополнений. Например, GET: /user/dummyuser информация о пользователе ответа GET: /user/dummyuser?token=ABCD информация о пользователе ответа с дополнениями

Как мне управлять?

Ответы [ 2 ]

1 голос
/ 28 апреля 2020

вы можете использовать что-то вроде этой функции, которую я написал для своего проекта:

public function __construct($includes = null)
{
    parent::__construct();
    $this->includes = $includes;
}


if (strstr($this->includes, 'order')) {
$products = $order->product()->get();
        if (count($products)) {
            return ((new ApiController())->respondWithTransform($products, (new ProductTransformer($this->includes))))->original['data'];
        }
    }
return null;
}

, поэтому, если в моем маршруте есть = 'order', то он сгенерирует некоторые дополнительные данные

вот ссылка для strstr: strstr

0 голосов
/ 28 апреля 2020

Допустим, ваш маршрут такой:

Route::get("/user/dummyuser/{token?}", "Controller@get_token");

Ваш метод будет таким, потому что любой запрос с параметрами или без, с аутентификацией или без, будет работать.

public function get_tag($token = "", Request $request)
{
    // alternative method
    if (($user = Auth::user()) !== null) {
        // Here you have your authenticated user model
        return response()->json($response);
    }

    // return general data
    return response()->json($response);
}

Я надеюсь, что помог тебе.

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