Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yii2
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PSDI Army
yii2
Commits
bd5d0f12
Commit
bd5d0f12
authored
Dec 28, 2014
by
Nobuo Kihara
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
docs/guide-ja/rest-resources.md - completed [ci skip]
parent
ee73ba1a
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
50 additions
and
52 deletions
+50
-52
README.md
docs/guide-ja/README.md
+1
-1
rest-quick-start.md
docs/guide-ja/rest-quick-start.md
+19
-19
rest-resources.md
docs/guide-ja/rest-resources.md
+30
-32
No files found.
docs/guide-ja/README.md
View file @
bd5d0f12
...
@@ -129,7 +129,7 @@ RESTful ウェブサービス
...
@@ -129,7 +129,7 @@ RESTful ウェブサービス
----------------------
----------------------
*
[
クイックスタート
](
rest-quick-start.md
)
*
[
クイックスタート
](
rest-quick-start.md
)
*
**翻訳中**
[
リソース
](
rest-resources.md
)
*
[
リソース
](
rest-resources.md
)
*
**翻訳中**
[
コントローラ
](
rest-controllers.md
)
*
**翻訳中**
[
コントローラ
](
rest-controllers.md
)
*
**翻訳中**
[
ルーティング
](
rest-routing.md
)
*
**翻訳中**
[
ルーティング
](
rest-routing.md
)
*
**翻訳中**
[
レスポンスの書式設定
](
rest-response-formatting.md
)
*
**翻訳中**
[
レスポンスの書式設定
](
rest-response-formatting.md
)
...
...
docs/guide-ja/rest-quick-start.md
View file @
bd5d0f12
...
@@ -4,16 +4,16 @@
...
@@ -4,16 +4,16 @@
Yii は、RESTful ウェブサービス API を実装する仕事を簡単にするために、一揃いのツールを提供しています。
Yii は、RESTful ウェブサービス API を実装する仕事を簡単にするために、一揃いのツールを提供しています。
具体的に言えば、RESTful API に関する次の機能をサポートしています。
具体的に言えば、RESTful API に関する次の機能をサポートしています。
*
[
アクティブレコード
](
db-active-record.md
)
のための共通 API をサポートした迅速なプロトタイプ作成;
*
[
アクティブレコード
](
db-active-record.md
)
のための共通 API をサポートした迅速なプロトタイプ作成
*
レスポンス形式のネゴシエーション (デフォルトで JSON と XML をサポート);
*
レスポンス形式のネゴシエーション (デフォルトで JSON と XML をサポート)
*
出力フィールドの選択をサポートした、カスタマイズ可能なオブジェクトのシリアライゼーション;
*
出力フィールドの選択をサポートした、カスタマイズ可能なオブジェクトのシリアライゼーション
*
コレクションデータとバリデーションエラーの適切な書式設定;
*
コレクションデータとバリデーションエラーの適切な書式設定
*
[
HATEOAS
](
http://en.wikipedia.org/wiki/HATEOAS
)
のサポート;
*
[
HATEOAS
](
http://en.wikipedia.org/wiki/HATEOAS
)
のサポート
*
HTTP 動詞を適切にチェックする効率的なルーティング;
*
HTTP 動詞を適切にチェックする効率的なルーティング
*
`OPTIONS`
および
`HEAD`
動詞のサポートを内蔵;
*
`OPTIONS`
および
`HEAD`
動詞のサポートを内蔵
*
認証と権限付与;
*
認証と権限付与
*
データキャッシュと HTTP キャッシュ;
*
データキャッシュと HTTP キャッシュ
*
転送レート制限;
*
転送レート制限
以下においては、例を使って、どのようにして最小限のコーディング労力で一組の RESTful API を構築することが出来るかを説明します。
以下においては、例を使って、どのようにして最小限のコーディング労力で一組の RESTful API を構築することが出来るかを説明します。
...
@@ -80,15 +80,15 @@ API 縺 JSON 蠖「蠑上〒蜈・蜉帙ョ繝シ繧ソ繧貞女縺大叙繧九%縺ィ縺悟譚・繧九h縺↓
...
@@ -80,15 +80,15 @@ API 縺 JSON 蠖「蠑上〒蜈・蜉帙ョ繝シ繧ソ繧貞女縺大叙繧九%縺ィ縺悟譚・繧九h縺↓
上記で示した最小限の労力によって、ユーザのデータにアクセスする RESTful API を作成する仕事は既に完成しています。
上記で示した最小限の労力によって、ユーザのデータにアクセスする RESTful API を作成する仕事は既に完成しています。
作成した API は次のものを含みます。
作成した API は次のものを含みます。
*
`GET /users`
: 全てのユーザをページごとに一覧する;
*
`GET /users`
: 全てのユーザをページごとに一覧する
*
`HEAD /users`
: ユーザ一覧の概要を示す;
*
`HEAD /users`
: ユーザ一覧の概要を示す
*
`POST /users`
: 新しいユーザを作成する;
*
`POST /users`
: 新しいユーザを作成する
*
`GET /users/123`
: ユーザ 123 の詳細を返す;
*
`GET /users/123`
: ユーザ 123 の詳細を返す
*
`HEAD /users/123`
: ユーザ 123 の概要を示す;
*
`HEAD /users/123`
: ユーザ 123 の概要を示す
*
`PATCH /users/123`
と
`PUT /users/123`
: ユーザ 123 を更新する;
*
`PATCH /users/123`
と
`PUT /users/123`
: ユーザ 123 を更新する
*
`DELETE /users/123`
: ユーザ 123 を削除する;
*
`DELETE /users/123`
: ユーザ 123 を削除する
*
`OPTIONS /users`
: エンドポイント
`/users`
に関してサポートされている動詞を示す;
*
`OPTIONS /users`
: エンドポイント
`/users`
に関してサポートされている動詞を示す
*
`OPTIONS /users/123`
: エンドポイント
`/users/123`
に関してサポートされている動詞を示す;
*
`OPTIONS /users/123`
: エンドポイント
`/users/123`
に関してサポートされている動詞を示す
> Info|情報: Yii は、エンドポイントとして使用されるコントローラの名前を自動的に複数形にします。
> Info|情報: Yii は、エンドポイントとして使用されるコントローラの名前を自動的に複数形にします。
> これは [[yii\rest\UrlRule::$pluralize]] プロパティを使って構成することが可能です。
> これは [[yii\rest\UrlRule::$pluralize]] プロパティを使って構成することが可能です。
...
...
docs/guide-ja/rest-resources.md
View file @
bd5d0f12
...
@@ -93,12 +93,11 @@ public function fields()
...
@@ -93,12 +93,11 @@ public function fields()
### `extraFields()` をオーバーライドする<a name="overriding-extra-fields"></a>
### `extraFields()` をオーバーライドする<a name="overriding-extra-fields"></a>
By default,
[
[yii\base\Model::extraFields()
]
] returns nothing, while
[
[yii\db\ActiveRecord::extraFields()
]
]
デフォルトでは、
[
[yii\base\Model::extraFields()
]
] は何も返しませんが、
[
[yii\db\ActiveRecord::extraFields()
]
] は DB から取得されたリレーションの名前を返します。
returns the names of the relations that have been populated from DB.
The return data format of
`extraFields()`
is the same as that of
`fields()`
. Usually,
`extraFields()`
`extraFields()`
によって返されるデータの形式は
`fields()`
のそれと同じです。
is mainly used to specify fields whose values are objects. For example, given the following field
通常、
`extraFields()`
は、主として、値がオブジェクトであるフィールドを指定するのに使用されます。
declaration,
例えば、次のようなフィールドの宣言があるとしましょう。
```
php
```
php
public
function
fields
()
public
function
fields
()
...
@@ -112,7 +111,7 @@ public function extraFields()
...
@@ -112,7 +111,7 @@ public function extraFields()
}
}
```
```
the request with
`http://localhost/users?fields=id,email&expand=profile`
may return the following JSON data:
`http://localhost/users?fields=id,email&expand=profile`
というリクエストは、次のような JSON データを返すことが出来ます。
```
php
```
php
[
[
...
@@ -129,16 +128,16 @@ the request with `http://localhost/users?fields=id,email&expand=profile` may ret
...
@@ -129,16 +128,16 @@ the request with `http://localhost/users?fields=id,email&expand=profile` may ret
```
```
##
Links
<a name="links"></a>
##
リンク
<a name="links"></a>
[
HATEOAS
](
http://en.wikipedia.org/wiki/HATEOAS
)
, an abbreviation for Hypermedia as the Engine of Application State,
[
HATEOAS
](
http://en.wikipedia.org/wiki/HATEOAS
)
は、Hypermedia as the Engine of Application State (アプリケーション状態のエンジンとしてのハイパーメディア) の略称です。
promotes that RESTful APIs should return information that allow clients to discover actions supported for the returned
HATEOAS は、RESTful API は自分が返すリソースについて、どのようなアクションがサポートされているかをクライアントが発見できるような情報を返すべきである、という概念です。
resources. The key of HATEOAS is to return a set of hyperlinks with relation information when resource data are served
HATEOAS のキーポイントは、リソースデータが API によって提供されるときには、関連する情報を一群のハイパーリンクによって返すべきである、ということです。
by the APIs.
Your resource classes may support HATEOAS by implementing the
[
[yii\web\Linkable
]
] interface. The interface
あなたのリソースクラスは、
[
[yii\web\Linkable
]
] インタフェイスを実装することによって、HATEOAS をサポートすることが出来ます。
contains a single method
[
[yii\web\Linkable::getLinks()|getLinks()
]
] which should return a list of
[
[yii\web\Link|links
]
].
このインタフェイスは、
[
[yii\web\Link|リンク
]
] のリストを返すべき
[
[yii\web\Linkable::getLinks()|getLinks()
]
] メソッド一つだけを含みます。
Typically, you should return at least the
`self`
link representing the URL to the resource object itself. For example,
典型的には、少なくとも、リソースオブジェクトそのものへの URL を表現する
`self`
リンクを返さなければなりません。
例えば、
```
php
```
php
use
yii\db\ActiveRecord
;
use
yii\db\ActiveRecord
;
...
@@ -157,8 +156,8 @@ class User extends ActiveRecord implements Linkable
...
@@ -157,8 +156,8 @@ class User extends ActiveRecord implements Linkable
}
}
```
```
When a
`User`
object is returned in a response, it will contain a
`_links`
element representing the links related
`User`
オブジェクトがレスポンスで返されるとき、レスポンスはそのユーザに関連するリンクを表現する
`_links`
要素を含むことになります。
to the user, for example,
例えば、
```
```
{
{
...
@@ -172,15 +171,15 @@ to the user, for example,
...
@@ -172,15 +171,15 @@ to the user, for example,
```
```
##
Collections
<a name="collections"></a>
##
コレクション
<a name="collections"></a>
Resource objects can be grouped into
*collections*
. Each collection contains a list of resource objects
リソースオブジェクトは
*コレクション*
としてグループ化することが出来ます。
of the same type.
各コレクションは、同じ型のリソースのリストを含みます。
While collections can be represented as arrays, it is usually more desirable to represent them
コレクションは配列として表現することも可能ですが、通常は、
[
データプロバイダ
](
output-data-providers.md
)
として表現する方がより望ましい方法です。
as
[
data providers
](
output-data-providers.md
)
. This is because data providers support sorting and pagination
これは、データプロバイダがリソースの並べ替えとページネーションをサポートしているからです。
of resources, which is a commonly needed feature for RESTful APIs returning collections. For example,
並べ替えとページネーションは、コレクションを返す RESTful API にとっては、普通に必要とされる機能です。
the following action returns a data provider about the post resources:
例えば、次のアクションは投稿のリソースについてデータプロバイダを返すものです。
```
php
```
php
namespace
app\controllers
;
namespace
app\controllers
;
...
@@ -200,14 +199,13 @@ class PostController extends Controller
...
@@ -200,14 +199,13 @@ class PostController extends Controller
}
}
```
```
When a data provider is being sent in a RESTful API response,
[
[yii\rest\Serializer
]
] will take out the current
データプロバイダが RESTful API のレスポンスで送信される場合は、
[
[yii\rest\Serializer
]
] が現在のページのリソースを取り出して、リソースオブジェクトの配列としてシリアライズします。
page of resources and serialize them as an array of resource objects. Additionally,
[
[yii\rest\Serializer
]
]
それだけでなく、
[
[yii\rest\Serializer
]
] は次の HTTP ヘッダを使ってページネーション情報もレスポンスに含めます。
will also include the pagination information by the following HTTP headers:
*
`X-Pagination-Total-Count`
:
The total number of resources;
*
`X-Pagination-Total-Count`
:
リソースの総数
*
`X-Pagination-Page-Count`
:
The number of pages;
*
`X-Pagination-Page-Count`
:
ページ数
*
`X-Pagination-Current-Page`
:
The current page (1-based);
*
`X-Pagination-Current-Page`
:
現在のページ (1 から始まる)
*
`X-Pagination-Per-Page`
:
The number of resources in each page;
*
`X-Pagination-Per-Page`
:
各ページのリソース数
*
`Link`
:
A set of navigational links allowing client to traverse the resources page by page.
*
`Link`
:
クライアントがリソースをページごとにたどることが出来るようにするための一群のナビゲーションリンク
An example may be found in the
[
Quick Start
](
rest-quick-start.md#trying-it-out
)
section.
その一例を
[
クイックスタート
](
rest-quick-start.md#trying-it-out
)
の節で見ることが出来ます。
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment