YII로 RESTFUL API를 만드는 것은 RESTFul 라우팅 및 컨트롤러에 대한 내장 지원 덕분에 간단합니다. YII의 편안한 기능은 주로 yii\rest\ActiveController
클래스를 중심으로합니다. 이 컨트롤러는 데이터베이스 모델과 직접 상호 작용하는 API를 구축하기위한 편리한 기반을 제공합니다. 단계별 가이드는 다음과 같습니다.
yii\db\ActiveRecord
확장해야합니다. REST 컨트롤러 작성 : yii\rest\ActiveController
확장하는 새 컨트롤러를 만듭니다. 이 컨트롤러는 API 요청을 처리합니다. 예를 들어:
<code class="php"><?php namespace app\controllers; use yii\rest\ActiveController; class UserController extends ActiveController { public $modelClass = 'app\models\User'; }</code></code>
이 코드는 User
모델을 관리하는 UserController
정의합니다. $modelClass
속성은 컨트롤러가 작동 할 모델을 지정합니다.
라우팅 구성 : 응용 프로그램의 구성 파일 ( config/web.php
)에서 API 요청을 컨트롤러에 MAP로 구성하는 URL 규칙을 구성하십시오. API 경로에 접두사를 사용하고 싶을 것입니다.
<code class="php">'urlManager' => [ 'enablePrettyUrl' => true, 'enableStrictParsing' => true, 'showScriptName' => false, 'rules' => [ ['class' => 'yii\rest\UrlRule', 'controller' => 'user'], ], ],</code>
이는 /user
와 같은 요청을 UserController
에 맵핑하는 URL 규칙을 설정합니다.
ActiveController
기본 CRUD (작성, 읽기, 업데이트, 삭제) 작업을 제공하지만보다 복잡한 API 로직을 구현하기 위해 사용자 정의 작업을 재정의하거나 추가 할 수 있습니다. 예를 들어, 사용자 인증 또는 검색 기능을 처리하기 위해 사용자 정의 작업을 만들 수 있습니다.편안한 API를 확보하는 것이 중요합니다. 모범 사례는 다음과 같습니다.
YII의 ActiveController
HTTP 방법의 매핑을 자동으로 처리하기 위해 처리합니다. 그러나 특정 시나리오에 대해이 동작을 사용자 정의해야 할 수도 있습니다.
ActiveController
단일 리소스 ( /user/1
) 및 컬렉션 ( /user
)을 검색하기 위해이를 자동으로 처리합니다.ActiveController
의 create
Action은 이것을 처리합니다. 이 작업을 사용자 정의하여 특정 데이터 형식 또는 유효성 검사 규칙을 처리 할 수 있습니다.ActiveController
의 update
작업은이를 처리하여 업데이트 할 리소스를 지정하려면 ID가 필요합니다.ActiveController
의 delete
작업은이를 처리하며 ID가 필요합니다.컨트롤러의 이러한 작업을 무시하여 사용자 정의 로직을 추가 할 수 있습니다. 예를 들어, 게시물 요청에 대해 사용자 정의 유효성 검사를 추가하려면 다음과 같습니다.
<code class="php">public function actionCreate() { $model = new User(); $model->load(\Yii::$app->request->post()); if ($model->validate() && $model->save()) { return $model; } else { return $this->validationError($model->getErrors()); } }</code>
이는 모델을 저장하기 전에 사용자 정의 검증을 수행하기 위해 기본 create
작업을 무시합니다.
YII로 편안한 API를 개발하는 것은 일반적으로 간단하지만 특정 과제를 제시 할 수 있습니다.
/v1/user
, /v2/user
) 또는 사용자 정의 헤더를 통해 버전 작성을 구현할 수 있습니다.이러한 과제를 극복하려면 신중한 계획, 모범 사례 준수 및 적절한 도구 및 기술 사용이 필요합니다. YII의 유연성을 통해 이러한 과제에 적응하고 강력하고 확장 가능하며 안전한 편안한 API를 구축 할 수 있습니다.
위 내용은 yii로 편안한 API를 어떻게 만들려면?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!