33 | | При использовании метода POST |
| 39 | }}} |
| 40 | |
| 41 | При использовании метода POST запрос может помещаться в тело HTTP-сообщения двумя способами: |
| 42 | 1. как значение параметра `json` (аналогично запросу GET), в этом случае поле Content-Type сообщения должно иметь значение `application/x-www-form-urlencoded`, и, соответственно, тело сообщения должно кодироваться по правилам urlencode. Пример запроса: |
| 43 | {{{ |
| 44 | POST /api.php HTTP/1.1 |
| 45 | Host: mc04.domain.org |
| 46 | Content-Type: application/x-www-form-urlencoded |
| 47 | Content-Length: xxx |
| 48 | |
| 49 | json=%7B%22key%22%3A%22value%22%7D |
| 50 | }}} |
| 51 | 1. как "чистый" json-объект, в этом случае никакого дополнительного кодирования не используется, поле Content-Type в этом случае должно иметь значение `application/json`. Пример запроса: |
| 52 | {{{ |
| 53 | POST /api.php HTTP/1.1 |
| 54 | Host: mc04.domain.org |
| 55 | Content-Type: application/json |
| 56 | Content-Length: xxx |
| 57 | |
| 58 | {"key":"value"} |
| 59 | }}} |
| 60 | |
| 61 | Предпочтительным является второй вариант, однако следует учитывать, что его поддержка появилась в аппаратуре MC04-DSL-3U лишь начиная ревизии пакета sw r1543, в более ранних ревизиях поддерживается только первый вариант, поэтому для поддержки более ранних версий аппаратуры при разраотке клиента рекомендуется предусмотреть возможность fallback к первому варианту запросов. |