Slide 76
Slide 76 text
ソフトウェアで見るフィードバック
$productId = $request->get('product_id');
$result = $this->productApiClient->request($productId);
$statusCode = $result->getStatusCode();
if ($statusCode >= 500) {
return $this->error('Please try again later');
} elseif ($statusCode >= 400) {
return $this->error('Unable to load product', 400);
}
$body = $result->getBody()->getContents();
$data = json_decode($body, true);
if ($data['status'] === 'invalid') {
return $this->error('Product unavailable', 404);
}
return $this->success(['product' => $data['detail']]);

$body = $result->getBody()->getContents();
$data = json_decode($body, true);
if ($data['status'] === 'invalid') {
return $this->error('Product unavailable', 404);
}
応答本文から
エラーを判定&処理を中断する