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
bef6a759
Commit
bef6a759
authored
Sep 01, 2014
by
Dmitry Korolev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
another small translation fixes
parent
ede4d8ee
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
9 deletions
+9
-9
rest-response-formatting.md
docs/guide-ru/rest-response-formatting.md
+9
-9
No files found.
docs/guide-ru/rest-response-formatting.md
View file @
bef6a759
...
@@ -6,8 +6,8 @@
...
@@ -6,8 +6,8 @@
1.
Определяет различные факторы, которые могут повлиять на формат ответа, такие как media type, язык, версия и т.д.
1.
Определяет различные факторы, которые могут повлиять на формат ответа, такие как media type, язык, версия и т.д.
Этот процесс также известен как
[
согласование содержимого
](
http://en.wikipedia.org/wiki/Content_negotiation
)
.
Этот процесс также известен как
[
согласование содержимого
](
http://en.wikipedia.org/wiki/Content_negotiation
)
.
2.
Конвертирует объекты ресурсов в массивы, как описано в секции
[
Ресурсы
](
rest-resources.md
)
.
2.
Конвертирует объекты ресурсов в массивы, как описано в секции
[
Ресурсы
](
rest-resources.md
)
.
Эт
о задача дл
я
[
[yii\rest\Serializer
]
].
Эт
им занимаетс
я
[
[yii\rest\Serializer
]
].
3.
Конвертирует массивы в строк
е в формате, определенном
на этапе согласование содержимого. Это задача для
3.
Конвертирует массивы в строк
и исходя из формата, определенного
на этапе согласование содержимого. Это задача для
[
[yii\web\ResponseFormatterInterface|форматера ответов
]
], регистрируемого с помощью компонента приложения
[
[yii\web\ResponseFormatterInterface|форматера ответов
]
], регистрируемого с помощью компонента приложения
[
[yii\web\Response::formatters|response
]
].
[
[yii\web\Response::formatters|response
]
].
...
@@ -15,7 +15,7 @@
...
@@ -15,7 +15,7 @@
## Согласование содержимого <a name="content-negotiation"></a>
## Согласование содержимого <a name="content-negotiation"></a>
Yii поддерживает согласование содержимого с помощью фильтра
[
yii\filters\ContentNegotiator
]
]. Базовый класс
Yii поддерживает согласование содержимого с помощью фильтра
[
yii\filters\ContentNegotiator
]
]. Базовый класс
контроллера RESTful API
[
[yii\rest\Controller
]
]
использует этот фильтр под именем
`contentNegotiator`
.
контроллера RESTful API
-
[
[yii\rest\Controller
]
] -
использует этот фильтр под именем
`contentNegotiator`
.
Фильтр обеспечивает соответствие формата ответа и определяет используемый язык. Например, если RESTful API запрос
Фильтр обеспечивает соответствие формата ответа и определяет используемый язык. Например, если RESTful API запрос
содержит следующий заголовок:
содержит следующий заголовок:
...
@@ -23,7 +23,7 @@ Yii поддерживает согласование содержимого с
...
@@ -23,7 +23,7 @@ Yii поддерживает согласование содержимого с
Accept: application/json; q=1.0, */*; q=0.1
Accept: application/json; q=1.0, */*; q=0.1
```
```
Он
будет получать ответ в JSON-формате следующе
го вида:
Он
получит ответ в JSON-формате тако
го вида:
```
```
$ curl -i -H "Accept: application/json; q=1.0, */*; q=0.1" "http://localhost/users"
$ curl -i -H "Accept: application/json; q=1.0, */*; q=0.1" "http://localhost/users"
...
@@ -55,13 +55,13 @@ Content-Type: application/json; charset=UTF-8
...
@@ -55,13 +55,13 @@ Content-Type: application/json; charset=UTF-8
]
]
```
```
Под копотом происходит следующее: прежде, чем
экшн RESTful API контроллера будет выполнен
, фильтр
Под копотом происходит следующее: прежде, чем
*действие*
RESTful API контроллера будет выполнено
, фильтр
[
[yii\filters\ContentNegotiator
]
] проверит HTTP-заголовок
`Accept`
в запросе и установит, что
[
[yii\filters\ContentNegotiator
]
] проверит HTTP-заголовок
`Accept`
в запросе и установит, что
[
[yii\web\Response::format|формат ответа
]
] должен быть в
`'json'`
. После того, как
экшн будет выполнен
и вернет
[
[yii\web\Response::format|формат ответа
]
] должен быть в
`'json'`
. После того, как
*действие*
будет выполнено
и вернет
результирующи
й объект ресурса или коллекцию,
[
[yii\rest\Serializer
]
] конвертирует результат в массив.
итоговы
й объект ресурса или коллекцию,
[
[yii\rest\Serializer
]
] конвертирует результат в массив.
И, наконец,
[
[yii\web\JsonResponseFormatter
]
] сериализует массив в строку в формате JSON и включит ее в тело ответа.
И, наконец,
[
[yii\web\JsonResponseFormatter
]
] сериализует массив в строку в формате JSON и включит ее в тело ответа.
По умолчанию, RESTful API
s
поддерживает и JSON, и XML форматы. Для того, чтобы добавить поддержку нового формата,
По умолчанию, RESTful API поддерживает и JSON, и XML форматы. Для того, чтобы добавить поддержку нового формата,
вы должны установить свою конфигурацию для свойства
[
[yii\filters\ContentNegotiator::formats|formats
]
] у фильтра
вы должны установить свою конфигурацию для свойства
[
[yii\filters\ContentNegotiator::formats|formats
]
] у фильтра
`contentNegotiator`
, например, с использованием поведения такого вида:
`contentNegotiator`
, например, с использованием поведения такого вида:
...
@@ -82,7 +82,7 @@ public function behaviors()
...
@@ -82,7 +82,7 @@ public function behaviors()
## Сериализация данных <a name="data-serializing"></a>
## Сериализация данных <a name="data-serializing"></a>
Как уже опис
ано
выше,
[
[yii\rest\Serializer
]
] - это центральное место, отвечащее за конвертацию объектов ресурсов
Как уже опис
ывалось
выше,
[
[yii\rest\Serializer
]
] - это центральное место, отвечащее за конвертацию объектов ресурсов
или коллекций в массивы. Он реализует интерфейсы
[
[yii\base\ArrayableInterface
]
] и
[
[yii\data\DataProviderInterface
]
].
или коллекций в массивы. Он реализует интерфейсы
[
[yii\base\ArrayableInterface
]
] и
[
[yii\data\DataProviderInterface
]
].
Для объектов ресурсов как правило реализуется интерфейс
[
[yii\base\ArrayableInterface
]
], а для коллекций -
Для объектов ресурсов как правило реализуется интерфейс
[
[yii\base\ArrayableInterface
]
], а для коллекций -
[
[yii\data\DataProviderInterface
]
].
[
[yii\data\DataProviderInterface
]
].
...
...
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