Commit 35818654 by Qiang Xue

Merge pull request #6675 from softark/docs-guide-ja-rest-resources

Docs guide ja rest resources [ci skip]
parents 565abb54 c663e9f3
......@@ -129,7 +129,7 @@ RESTful ウェブサービス
----------------------
* [クイックスタート](rest-quick-start.md)
* **翻訳中** [リソース](rest-resources.md)
* [リソース](rest-resources.md)
* **翻訳中** [コントローラ](rest-controllers.md)
* **翻訳中** [ルーティング](rest-routing.md)
* **翻訳中** [レスポンスの書式設定](rest-response-formatting.md)
......
......@@ -4,16 +4,16 @@
Yii は、RESTful ウェブサービス API を実装する仕事を簡単にするために、一揃いのツールを提供しています。
具体的に言えば、RESTful API に関する次の機能をサポートしています。
* [アクティブレコード](db-active-record.md) のための共通 API をサポートした迅速なプロトタイプ作成;
* レスポンス形式のネゴシエーション (デフォルトで JSON と XML をサポート);
* 出力フィールドの選択をサポートした、カスタマイズ可能なオブジェクトのシリアライゼーション;
* コレクションデータとバリデーションエラーの適切な書式設定;
* [HATEOAS](http://en.wikipedia.org/wiki/HATEOAS) のサポート;
* HTTP 動詞を適切にチェックする効率的なルーティング;
* `OPTIONS` および `HEAD` 動詞のサポートを内蔵;
* 認証と権限付与;
* データキャッシュと HTTP キャッシュ;
* 転送レート制限;
* [アクティブレコード](db-active-record.md) のための共通 API をサポートした迅速なプロトタイプ作成
* レスポンス形式のネゴシエーション (デフォルトで JSON と XML をサポート)
* 出力フィールドの選択をサポートした、カスタマイズ可能なオブジェクトのシリアライゼーション
* コレクションデータとバリデーションエラーの適切な書式設定
* [HATEOAS](http://en.wikipedia.org/wiki/HATEOAS) のサポート
* HTTP 動詞を適切にチェックする効率的なルーティング
* `OPTIONS` および `HEAD` 動詞のサポートを内蔵
* 認証と権限付与
* データキャッシュと HTTP キャッシュ
* 転送レート制限
以下においては、例を使って、どのようにして最小限のコーディング労力で一組の RESTful API を構築することが出来るかを説明します。
......@@ -80,15 +80,15 @@ API 縺 JSON 蠖「蠑上〒蜈・蜉帙ョ繝シ繧ソ繧貞女縺大叙繧九%縺ィ縺悟譚・繧九h縺↓
上記で示した最小限の労力によって、ユーザのデータにアクセスする RESTful API を作成する仕事は既に完成しています。
作成した API は次のものを含みます。
* `GET /users`: 全てのユーザをページごとに一覧する;
* `HEAD /users`: ユーザ一覧の概要を示す;
* `POST /users`: 新しいユーザを作成する;
* `GET /users/123`: ユーザ 123 の詳細を返す;
* `HEAD /users/123`: ユーザ 123 の概要を示す;
* `PATCH /users/123``PUT /users/123`: ユーザ 123 を更新する;
* `DELETE /users/123`: ユーザ 123 を削除する;
* `OPTIONS /users`: エンドポイント `/users` に関してサポートされている動詞を示す;
* `OPTIONS /users/123`: エンドポイント `/users/123` に関してサポートされている動詞を示す;
* `GET /users`: 全てのユーザをページごとに一覧する
* `HEAD /users`: ユーザ一覧の概要を示す
* `POST /users`: 新しいユーザを作成する
* `GET /users/123`: ユーザ 123 の詳細を返す
* `HEAD /users/123`: ユーザ 123 の概要を示す
* `PATCH /users/123``PUT /users/123`: ユーザ 123 を更新する
* `DELETE /users/123`: ユーザ 123 を削除する
* `OPTIONS /users`: エンドポイント `/users` に関してサポートされている動詞を示す
* `OPTIONS /users/123`: エンドポイント `/users/123` に関してサポートされている動詞を示す
> Info|情報: Yii は、エンドポイントとして使用されるコントローラの名前を自動的に複数形にします。
> これは [[yii\rest\UrlRule::$pluralize]] プロパティを使って構成することが可能です。
......
......@@ -441,13 +441,13 @@ public function fields()
];
}
// いくつかのフィールドを除去する方法。親の実装を継承しつつ、慎重に扱うべきフィールドは
// いくつかのフィールドを除去する方法。親の実装を継承しつつ、公開すべきでないフィールドは
// 除外したいときに適している。
public function fields()
{
$fields = parent::fields();
// 慎重に扱うべき情報を含むフィールドを削除する
// 公開すべきでない情報を含むフィールドを削除する
unset($fields['auth_key'], $fields['password_hash'], $fields['password_reset_token']);
return $fields;
......@@ -455,7 +455,7 @@ public function fields()
```
> Warning|警告: 既定ではモデルの全ての属性がエクスポートされる配列に含まれるため、データを精査して、
> 慎重に扱うべき情報が含まれていないことを確認すべきです。そういう情報がある場合は、
> 公開すべきでない情報が含まれていないことを確認すべきです。そういう情報がある場合は、
> `fields()` をオーバーライドして、除去すべきです。上記の例では、`auth_key`、`password_hash`
> および `password_reset_token` を選んで除去しています。
......
......@@ -261,6 +261,29 @@ if (!$model && null === $event)
throw new Exception('test');
```
そうすることが合理的な場合は、`return` の後の `else` は出来れば避けてください。
[ガード条件](http://refactoring.com/catalog/replaceNestedConditionalWithGuardClauses.html) を使用しましょう。
```php
$result = $this->getResult();
if (empty($result)) {
return true;
} else {
// $result を処理
}
```
これは、次の方が良いです。
```php
$result = $this->getResult();
if (empty($result)) {
return true;
}
// $result を処理
```
#### switch
switch には下記の書式を使用します。
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment