Yii 2快速構築RESTful Webサービス機能概要
Yii 2は、Yii 1と比較して、機能完備のRESTfulサポートを内蔵していることが大きな改良です.
その内蔵RESTfulサポートは以下の機能を提供します. ActiveRecordの汎用インタフェースを使用して、プロトタイプを迅速に構築します. 応答フォーマット協議(デフォルトはJSONとXMLをサポートする). カスタマイズ可能なオブジェクトシーケンス化で、出力するカラムの選択をサポートします. 要求データのフォーマットおよび検証エラー; HTTP動詞マッピングにより効率的なルーティングを実現する. はOPTIONSとHEAD動詞をサポートする. 認証と認証; はHATEOAS(RESTfulのアーキテクチャ制約、スーパーメディア、すなわちアプリケーション状態)をサポートする. 結果キャッシュ、yiifiltersHttpCacheキャッシュを使用できます. アクセス速度制限、悪意のある攻撃とサービスの乱用を避ける; 検索とフィルタリング: 内蔵データページング機能; APIバージョン管理.
これらの機能はすべて自分で実現し、良好な拡張性、カスタマイズ性が必要であれば、
やはり手間がかかりますが、Yii 2はすでにうまく実現しており、拡張も容易です.
以下に、いくつかの機能について簡単に説明します.
Yii 2では、特定のカラムを出力したり、特定のカラムを除外したりするなど、カスタム出力が簡単になります.overrideアクティビティレコードを簡単に上書きするfieldsメソッドだけでいいです.
Yii 2におけるAPIバージョン管理のサポートは、URLにバージョン番号を埋め込むこと(例えば、http://api.techbrood.com/v1/users)は、HTTP Acceptヘッダで指定されています.
Yii 2以前は大バージョンをサポートしていましたが、以降は小バージョン番号をサポートしています.これにより、コードの簡略化、コードの分離、および多重化の間で良好なバランスを達成することができる.
Yii 2におけるセキュリティメカニズムは,HTTP BASIC AUTTH,クエリパラメータ(すなわち,URLパラメータにアクセストークンを含む)とオープンソースプロトコルOAUTH 2の3つの方式をサポートする.
以下では、最小の文を使用して、ユーザー(User)リソースの完全なWebサービスを実現します.
まず、コントローラクラス
次に、configのurlManager構成項目を変更します.
これでいい!ブラウザでアクセスしてみてください.http://localhost/users.
これはユーザーリストインタフェースにすぎません.Yii 2は実際にインタフェースを自動的に作成しました.
完全な機能はYii 2中国語ガイドRESTful部分:Yii 2中国語権威ガイドを参照してください
by iefreer
その内蔵RESTfulサポートは以下の機能を提供します.
これらの機能はすべて自分で実現し、良好な拡張性、カスタマイズ性が必要であれば、
やはり手間がかかりますが、Yii 2はすでにうまく実現しており、拡張も容易です.
以下に、いくつかの機能について簡単に説明します.
Yii 2では、特定のカラムを出力したり、特定のカラムを除外したりするなど、カスタム出力が簡単になります.overrideアクティビティレコードを簡単に上書きするfieldsメソッドだけでいいです.
Yii 2におけるAPIバージョン管理のサポートは、URLにバージョン番号を埋め込むこと(例えば、http://api.techbrood.com/v1/users)は、HTTP Acceptヘッダで指定されています.
Yii 2以前は大バージョンをサポートしていましたが、以降は小バージョン番号をサポートしています.これにより、コードの簡略化、コードの分離、および多重化の間で良好なバランスを達成することができる.
Yii 2におけるセキュリティメカニズムは,HTTP BASIC AUTTH,クエリパラメータ(すなわち,URLパラメータにアクセストークンを含む)とオープンソースプロトコルOAUTH 2の3つの方式をサポートする.
以下では、最小の文を使用して、ユーザー(User)リソースの完全なWebサービスを実現します.
まず、コントローラクラス
app\controllers\UserController
を作成します.namespace app\controllers;
use yii\rest\ActiveController;
class UserController extends ActiveController {
public $modelClass = 'app\models\User';
}
次に、configのurlManager構成項目を変更します.
'urlManager' => [
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => [
['class' => 'yii\rest\UrlRule', 'controller' => 'user'],
],
]
これでいい!ブラウザでアクセスしてみてください.http://localhost/users.
これはユーザーリストインタフェースにすぎません.Yii 2は実際にインタフェースを自動的に作成しました.
完全な機能はYii 2中国語ガイドRESTful部分:Yii 2中国語権威ガイドを参照してください
by iefreer