Yii 2快速構築RESTful Webサービス機能概要

1989 ワード

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サービスを実現します.
    まず、コントローラクラス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