Dingo API добавляет символ «%» в ответ JSON - PullRequest
0 голосов
/ 24 декабря 2018

я получаю этот странный результат всякий раз, когда я вызываю мой REST API, встроенный в Dingo и Laravel 5.7

curl -X POST 'localhost/api/authenticate' -d "email=admin@example.com&password=secret"

каждый раз, когда я вызываю этот код, к концу ответа JSON добавляется символ "%", например

{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC90Z3AtZGVtby5vcGVuYWR1bHQub3JnXC9hcGlcL2F1dGhlbnRpY2F0ZSIsImlhdCI6MTU0NTYxMTg2OSwiZXhwIjoxNTQ1NjE1NDY5LCJuYmYiOjE1NDU2MTE4NjksImp0aSI6InR2M2NkdXpQSDh1VXpmaTgiLCJzdWIiOjEsInBydiI6Ijg3ZTBhZjFlZjlmZDE1ODEyZmRlYzk3MTUzYTE0ZTBiMDQ3NTQ2YWEifQ.pOUN-aiLq-78Rh429gvq3_S77L8gsHIh3oC_Bx41Y60"}%

, что делает объект JSON недействительным.Все, что он делает, это просто вызывает метод response-> json

/**
 *  API Login, on success return JWT Auth token
 *
 * @param \Illuminate\Http\Request $request
 *
 * @return \Illuminate\Http\JsonResponse
 */
public function authenticate(Request $request)
{
    // grab credentials from the request
    $credentials = $request->only('email', 'password');
    try {
        // attempt to verify the credentials and create a token for the user
        if (!$token = JWTAuth::attempt($credentials)) {
            return response()->json(['error' => 'invalid_credentials'], 401);
        }
    } catch (JWTException $e) {
        // something went wrong whilst attempting to encode the token
        return response()->json(['error' => 'could_not_create_token'], 500);
    }
    // all good so return the token
    return response()->json(compact('token'));
}

Я что-то здесь упускаю?

ps.вот ссылка на репозиторий github: https://github.com/openadult/tgp/blob/df7d6819697801145e4537db8ce8ceec0fe9de9c/app/Http/Controllers/Api/AuthenticateController.php#L18-L32

Спасибо!

...