GraphQL은 개발자가 프런트엔드와 백엔드 간에 데이터를 전송하는 유연하고 강력한 방법을 구축할 수 있게 해주는 새로운 API 쿼리 언어입니다. PHP는 강력함과 유연성으로 인해 다양한 애플리케이션을 개발하는 데 적합한 널리 사용되는 서버 측 언어입니다. 이 기사에서는 GraphQL 미들웨어와 함께 PHP를 사용하여 API를 작성하는 방법을 살펴보겠습니다.
GraphQL 미들웨어는 GraphQL API와 애플리케이션 코드 사이의 다리 역할을 하는 도구입니다. 이는 GraphQL 쿼리를 처리하고 구문 분석하여 데이터 요청 및 응답 프로세스를 더 잘 관리할 수 있도록 도와줍니다. PHP에서는 이를 달성하기 위해 다음 세 가지를 포함하여 몇 가지 다른 미들웨어를 사용할 수 있습니다.
이 미들웨어를 사용하기 전에 PHP에 GraphQL을 설치해야 합니다. . Composer를 사용하여 다음 두 패키지를 각각 설치할 수 있습니다.
설치가 완료된 후 다음을 사용할 수 있습니다. GraphQL 서버를 시작하는 코드는 다음과 같습니다.
<?php require_once(__DIR__ . '/vendor/autoload.php'); use GraphQLServerServerConfig; use GraphQLServerStandardServer; $serverConfig = ServerConfig::create() ->setSchema($schema) //GraphQL schema ->setRootValue($rootValue) //GraphQL查询的根对象 ->setQueryBatching(true) //是否允许GraphQL批量查询 ->setDebug(true); //调试模式 $request = GraphQLServerRequestParser::parse(); $response = (new StandardServer($serverConfig))->processPsrRequest($request); $response->send(); ?>
이 코드에서는 먼저 GraphQL 서버 구성을 생성하고 쿼리 일괄 처리 및 디버그 모드와 같은 일부 옵션을 설정합니다. 그런 다음 요청을 구문 분석하여 서버에 전달하고 마지막으로 클라이언트에 응답을 다시 보냅니다.
이제 세 가지 GraphQL 미들웨어를 사용하는 방법을 살펴보겠습니다.
ErrorMiddleware는 GraphQL API에서 오류를 포착하고 처리하는 데 사용되는 미들웨어입니다. API에 쿼리를 보내면 오류를 감지하고 오류 응답을 반환할 수 있습니다. ErrorMiddleware를 사용하려면 이를 GraphQL 서버 구성에 추가해야 합니다.
$serverConfig = ServerConfig::create() ->setSchema($schema) ->setRootValue($rootValue) ->setQueryBatching(true) ->setDebug(true) ->setFieldMiddleware([ new ErrorMiddleware(), ]);
이렇게 하면 오류가 발생할 때 서버가 적절한 응답을 반환하도록 보장하고 API를 쉽게 디버깅할 수 있습니다.
TracingMiddleware는 GraphQL API에서 쿼리 시간을 기록하기 위한 미들웨어입니다. 이는 개발자가 쿼리 병목 현상을 식별하고 처리가 완료되면 실행 시간을 반환하는 데 도움이 됩니다. TracingMiddleware를 사용하려면 이를 GraphQL 서버 구성에 추가해야 합니다.
$serverConfig = ServerConfig::create() ->setSchema($schema) ->setRootValue($rootValue) ->setQueryBatching(true) ->setDebug(true) ->setFieldMiddleware([ new TracingMiddleware(), ]);
이렇게 하면 API가 제대로 작동하고 향후 조정에 대비할 수 있습니다.
ValidateRequestMiddleware는 GraphQL 쿼리가 유효한지 확인하는 미들웨어입니다. 이는 서버를 충돌시키거나 민감한 정보를 노출시킬 수 있는 악의적인 쿼리 또는 쿼리를 API에서 실행하는 것을 방지하는 데 도움이 됩니다. ValidateRequestMiddleware를 사용하려면 이를 GraphQL 서버 구성에 추가해야 합니다.
$serverConfig = ServerConfig::create() ->setSchema($schema) ->setRootValue($rootValue) ->setQueryBatching(true) ->setDebug(true) ->setContext($context) ->setValidationRules([ new QuerySecurityRule(), ]) ->setFieldMiddleware([ new ValidateRequestMiddleware(), ]);
이러한 방식으로 API가 안전하고 유효한 쿼리 요청에만 응답하는지 확인할 수 있습니다.
위 내용은 PHP에서 GraphQL 미들웨어를 이용하여 API를 작성하는 기본 내용입니다. 미들웨어를 사용하면 코드가 크게 단순화되고 데이터 전송 프로세스를 더 잘 관리하는 데 도움이 됩니다. GraphQL과 PHP에 대해 더 깊이 이해하려면 공식 문서와 샘플 코드에서 더 많은 방법과 팁을 확인하세요.
위 내용은 PHP에서 GraphQL 미들웨어를 사용하여 API를 작성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!