A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | AB | AC | AD | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||||||||||||||||||||
2 | ||||||||||||||||||||||||||||||
3 | ||||||||||||||||||||||||||||||
4 | Method | php function HttpClient | php function DbTable | Наличие тестов | Краткое описание | обработчик запроса | Наличие тестов | особенности | response | Exceptions в обработчике | Требования | Запрос | Body запроса | |||||||||||||||||
5 | пример | exampleFunction($row) | exampleFunction($row) | Есть тесты под методы | Тестовое описание | ExampleHandler | Есть тесты для обработчика запросов | передаем в запрос тестовые данные | 200 | Если передаешь с primary key | primaryKey запрещен | GET / | none | |||||||||||||||||
6 | HEAD | getIdentifier | getIdentifier | покрыто тестами | получение primary key | HeadHandler | тестов нет | 200, хедеры | HEAD / | any | ||||||||||||||||||||
7 | GET | read($id) | read($id) | покрыто тестами | чтение записи по PRI | ReadHandler | ReadHandlerTest | 200, body | - primaryKeyValue isset - RQL empty | GET /{$id} | any | |||||||||||||||||||
8 | GET | query(Query $query) | query(Query $query) | покрыто тестами | чтение записи по RQL фильтру | QueryHandler | QueryHandlerTest | можно withContentRange | 200, body | - primaryKeyValue null - RQL not empty | GET /?query | any | ||||||||||||||||||
9 | GET | Получение контента датастора в формате csv Будет обновлятся заголовок для получение контента. Согласно стандартам это будет Accept: text/csv) TODO: нужно завести отдельную процедуру в интерфейс, чтобы можно было реализовывать это на уровне датасторов | DownloadCsvHandler | DownloadCsvHandlerTest | - HEADER = 'download' - limit в rql перезаписывается | 200 | GET /?rql | any | ||||||||||||||||||||||
10 | POST | create($itemData, $rewriteIfExist = false) | create($itemData, $rewriteIfExist = false) | покрыто тестами | Создание записи | CreateHandler | CreateHandlerTest | можно overwriteMode - возможность перезаписи записи, если такой PRI уже существует | 201, Header Location, body id | DataStoreException("Item with id '{$primaryKeyValue}' already exist") если без overwrite | - request boсdy: array, все ключи строкового типа - RQL empty | POST / | { "id":"value" (PRI), notNull fields } | |||||||||||||||||
11 | POST | multiCreate($records) | multiCreate($records) | покрыто тестами | Создание нескольких записей одним запросом | MultiCreateHandler | MultiCreateHandlerTest | если в дс не реализован метод, циклически create | 201, Header Location, body id's | - request body: array of arrays - RQL empty | POST / | [ {create}, {create} ] | ||||||||||||||||||
12 | PUT | update($itemData, $createIfAbsent = false) | update($itemData, $createIfAbsent = false) | покрыто тестами | Частичное обновление записи. Возможно будет введен deprecated и метод будет обновлен на PATCH (т.к. PUT не соответсвует стандартам для такого запроса) | UpdateHandler | UpdateHandlerTest | - можно overwriteMode - разрешено ли создать запись, если по переданному PK её ещё нет - если "id":"value" указан в теле запроса, то имеете приоритет над id из path param | 200 либо 201 (если overwrite и не было записи) | - либо primaryKeyValue isset, либо в строчке на обновление есть значение под primaryKeyValue - request boсdy: array, все ключи строкового типа - RQL empty | PUT /{$id} (либо в body id} | { "field":"value" } | ||||||||||||||||||
13 | PATCH | queriedUpdate($record, Query $query) | queriedUpdate($record, Query $query) | покрыто тестами | Частичное обновление записей, подходящих под условия RQL фильтра | QueriedUpdateHandler | QueriedUpdateHandlerTest | Limit required | 200 | DataStoreException('Data store object is not supporting queried update temporarily') | - primaryKeyValue null - RQL Limit required, no GroupBy, no Select, RQL not empty - request body: array, ассоциативный массив | PATCH /?limit()&query | { "field":"value" } | |||||||||||||||||
14 | PATCH | Обновление содержимого датастора (например, Cacheable) | RefreshHandler | RefreshHandlerTest | $this->dataStore instanceof RefreshableInterface | 200 | RestException("DataStore is not implement RefreshableInterface") | - RQL empty | PATCH / | any | ||||||||||||||||||||
15 | DELETE | delete($id) | delete($id) | покрыто тестами | Удаление записи по PRI | DeleteHandler | DeleteHandlerTest | 200 или 204 (нет содержимого) | - primaryKeyValue isset - RQL empty | DELETE /{$id} | any | |||||||||||||||||||
16 | has($id) | DataStoreAbstract | has($id) | покрыто тестами | Проверка, есть ли запись по такому PRI | ||||||||||||||||||||||||||
17 | multiUpdate($records) | DataStoreAbstract | multiUpdate($records) | покрыто тестами | Множественное частичное обновление записей | ||||||||||||||||||||||||||
18 | deleteAll() | DataStoreAbstract | deleteAll() | покрыто тестами | Удаление всех записей | ||||||||||||||||||||||||||
19 | rewrite($record) | DataStoreAbstract | rewrite($record) | покрыто тестами | Пересоздание записи | ||||||||||||||||||||||||||
20 | multiRewrite($records) | DataStoreAbstract | multiRewrite($records) | покрыто тестами | Множественное пересоздание записи | ||||||||||||||||||||||||||
21 | queriedDelete(Query $query) | DataStoreAbstract | queriedDelete(Query $query) | покрыто тестами | Удаление записей, подходящих по RQL фильтру | ||||||||||||||||||||||||||
22 | count() | DataStoreAbstract | count() | покрыто тестами | Получение кол-ва строк в датасторе | ||||||||||||||||||||||||||
23 | getDbTable() | нет тестов | Получение TableGateway | |||||||||||||||||||||||||||
24 | Ни один из обработчиков не обработал запрос к датастору | ErrorHandler | ErrorHandlerTest | No one datastore handler was executed | 500 | RestException("No one datastore handler was executed. " ... | ||||||||||||||||||||||||
25 | ||||||||||||||||||||||||||||||
26 | ||||||||||||||||||||||||||||||
27 | ||||||||||||||||||||||||||||||
28 | ||||||||||||||||||||||||||||||
29 | ||||||||||||||||||||||||||||||
30 | - значит что для метода нет отдельной реализации, есть общий метод в классе-родителе | |||||||||||||||||||||||||||||
31 | ||||||||||||||||||||||||||||||
32 | ||||||||||||||||||||||||||||||
33 | ||||||||||||||||||||||||||||||
34 | ||||||||||||||||||||||||||||||
35 | ||||||||||||||||||||||||||||||
36 | ||||||||||||||||||||||||||||||
37 | ||||||||||||||||||||||||||||||
38 | ||||||||||||||||||||||||||||||
39 | ||||||||||||||||||||||||||||||
40 | ||||||||||||||||||||||||||||||
41 | ||||||||||||||||||||||||||||||
42 | ||||||||||||||||||||||||||||||
43 | ||||||||||||||||||||||||||||||
44 | ||||||||||||||||||||||||||||||
45 | ||||||||||||||||||||||||||||||
46 | ||||||||||||||||||||||||||||||
47 | ||||||||||||||||||||||||||||||
48 | ||||||||||||||||||||||||||||||
49 | ||||||||||||||||||||||||||||||
50 | ||||||||||||||||||||||||||||||
51 | ||||||||||||||||||||||||||||||
52 | ||||||||||||||||||||||||||||||
53 | ||||||||||||||||||||||||||||||
54 | ||||||||||||||||||||||||||||||
55 | ||||||||||||||||||||||||||||||
56 | ||||||||||||||||||||||||||||||
57 | ||||||||||||||||||||||||||||||
58 | ||||||||||||||||||||||||||||||
59 | ||||||||||||||||||||||||||||||
60 | ||||||||||||||||||||||||||||||
61 | ||||||||||||||||||||||||||||||
62 | ||||||||||||||||||||||||||||||
63 | ||||||||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||||||
65 | ||||||||||||||||||||||||||||||
66 | ||||||||||||||||||||||||||||||
67 | ||||||||||||||||||||||||||||||
68 | ||||||||||||||||||||||||||||||
69 | ||||||||||||||||||||||||||||||
70 | ||||||||||||||||||||||||||||||
71 | ||||||||||||||||||||||||||||||
72 | ||||||||||||||||||||||||||||||
73 | ||||||||||||||||||||||||||||||
74 | ||||||||||||||||||||||||||||||
75 | ||||||||||||||||||||||||||||||
76 | ||||||||||||||||||||||||||||||
77 | ||||||||||||||||||||||||||||||
78 | ||||||||||||||||||||||||||||||
79 | ||||||||||||||||||||||||||||||
80 | ||||||||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||||||
82 | ||||||||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||||||
84 | ||||||||||||||||||||||||||||||
85 | ||||||||||||||||||||||||||||||
86 | ||||||||||||||||||||||||||||||
87 | ||||||||||||||||||||||||||||||
88 | ||||||||||||||||||||||||||||||
89 | ||||||||||||||||||||||||||||||
90 | ||||||||||||||||||||||||||||||
91 | ||||||||||||||||||||||||||||||
92 | ||||||||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||||||
97 | ||||||||||||||||||||||||||||||
98 | ||||||||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||||||
100 |