REST 아키텍처를 기반으로 API를 구축 할 때는 오류 처리가 합리적으로 디버그 및 유지 보수에 도움이 될뿐만 아니라 클라이언트 사용자에게 더 명확한 피드백을 제공합니다. 이 기사에서는 통합 오류 처리 클래스, 예외 포획 메커니즘 및 일반적인 오류 시나리오에 대한 코드 예제를 포함하여 PHP의 편안한 API 오류를 처리하기위한 모범 사례를 설명합니다.
API 오류 응답을 표준화하기 위해 먼저 상태 코드 및 메시지로 JSON 형식 응답을 생성하는 데 특별히 사용되는 오류 처리 클래스를 정의 할 수 있습니다.
클래스 오류 { public static function sendError ($ statuscode, $ message) { http_response_code ($ statuscode); $ error = [ '오류'=> [ 'status'=> $ statusCode, '메시지'=> $ 메시지 ]] ]; echo json_encode ($ error); 출구; } }
이 클래스의 SendError 메소드는 HTTP 상태 코드 및 오류 메시지를 수신합니다. 해당 응답 코드를 설정 한 후 구조화 된 JSON 형식 오류 정보를 출력합니다.
RESTFUL API에서 예외의 발생은 불가피합니다. 우리는 시도를 통해 캡처하고 처리 할 수 있습니다 ... 캐치 구조 :
노력하다 { // 예외를 던질 수있는 일부 코드를 실행} catch (예외 $ e) { 오류 :: sendError (500, $ e-> getMessage ()); }
이 방법은 프로그램 중단을 방지 할뿐만 아니라 클라이언트가 합리적인 오류 프롬프트를 받도록 보장합니다.
다른 비즈니스 논리에 따르면, 우리는 그에 따라 다양한 일반적인 오류 시나리오를 처리 할 수 있습니다.
if (! $ isvaliddata) { 오류 :: sendError (400, '잘못된 요청 데이터'); }
클라이언트가 제출 한 데이터 형식 또는 컨텐츠가 인터페이스 요구 사항을 충족하지 않으면 400 오류 코드를 반환하는 것이 일반적입니다.
if (! $ resource) { 오류 :: sendError (404, '자원을 찾을 수 없습니다.'); }
요청 된 리소스가 존재하지 않거나 삭제 된 경우, 404 오류로 클라이언트에 명시 적으로 정보를 제공 할 수 있습니다.
if (! $ success) { 오류 :: sendError (500, '내부 서버 오류'); }
API가 요청을 처리하는 과정에서 예측할 수없는 결함을 만나면 500 상태 코드를 반환하는 것이보다 일반적인 처리 방법입니다.
PHP 개발자는 통합 오류 처리 클래스와 예외 메커니즘의 합리적인 사용을 도입함으로써 Restful API에 대한 강력하고 사용자 친화적 인 오류 처리 시스템을 구축 할 수 있습니다. 표준화 된 오류 응답은 프론트 엔드 및 백엔드 조인트 디버깅에 도움이 될뿐만 아니라 API 사용에 대한 사용자의 경험을 크게 향상시킵니다. 이 기사에 제공된 방법이보다 신뢰할 수있는 PHP 응용 프로그램 인터페이스를 구축하는 데 도움이되기를 바랍니다.