向大家致意。
我将BadChoice / handesk用于自己的票务系统。
我认为这是一个很好的开源项目
使用GuzzleHttp\Client
调用api票证时,出现错误
$username = $user->username;
try {
$tickets = [];
$client = new Client(["headers" => ["token" => config('services.handesk.token')]]);
$response = $client->get($this->url . "/tickets?requester={$username}&status=open");
if (200 == $response->getStatusCode()) {
$tickets = json_decode($response->getBody(), true)['data'];
}
return response()->json(['message' => 'fecthed!', 'data' => $tickets, 'response_code' => 1], 200);
} catch (\Throwable $th) {
\Log::info($th->getMessage());
return response()->json(['message' => $th->getMessage(), 'data' => [], 'response_code' => 1], 201);
}
错误如下
{"message":"Client error: `GET https:\/\/ticket.fullstackllc.net\/api\/tickets?requester=admin` resulted in a `422 Unprocessable Entity` response:\n{\"error\":\"No query results for model [App\\\\Requester]. in \\\/var\\\/www\\\/handesk\\\/vendor\\\/laravel\\\/framework\\\/src\\\/Illumina (truncated...)\n","data":[],"response_code":1}
我使用邮递员通过调用api获取数据。 我不确定是怎么了。 我认为目前有错误的api调用 在我的后端,我可以获取任何日志。
App\Http\Controllers\Api\TicketsController;
这是我的代售单的后端
public function index()
{
\Log::info('this is route name');
$requester = Requester::whereName(request('requester'))->orWhere('email', '=', request('requester'))->firstOrFail();
if (request('status') == 'solved') {
$tickets = $requester->solvedTickets;
} elseif (request('status') == 'closed') {
$tickets = $requester->closedTickets;
} else {
$tickets = $requester->openTickets;
}
return $this->respond($tickets);
}