Как отправить PUT запрос

136
14 августа 2019, 10:10

Использую yii2-httpclient получилось отправить GET запрос так:

    $client = new Client(['baseUrl' => 'https://mysite.ru/']);
    $response = $client->createRequest()
        ->setMethod('get')
        ->setUrl('api/' . $this->model . '/' . $this->id)
        ->addHeaders(['Authorization' => 'Basic '.base64_encode("$this->user:$this->password")])
        ->send();

Пытаюсь отправить PUT так

    $client = new Client(['baseUrl' => 'https://mysite.ru/']);
    $response = $client->createRequest()
    ->setMethod('put')
    ->setUrl('api/' . $this->model . '/' . $this->id)
    ->addHeaders([
        'content-type' => 'application/x-www-form-urlencoded',
        'Authorization' => 'Basic '.base64_encode("$this->user:$this->password"),
    ])
    ->addContent('name', 'ahahahha')
    ->send();

но не получается, сервер с API отвечает

    Parameter <b>-----------------------100352f7324fdfd41476f7b53baf8d7d
    Content-Disposition:_form-data;_name</b> is not allowed for model <b>mymodel</b>

Подскажите пожалуйста как правильно реализовать PUT запрос через yii2-httpclient, спасибо.

Answer 1

у меня получилось так =)

    $client = new Client(['baseUrl' => 'https://mysite.ru/']);
    $response = $client->createRequest()
    ->setMethod('put')
    ->setUrl('api/' . $this->model . '/' . $this->id)
    ->addHeaders([
        'Accept' => 'application/x-www-form-urlencoded',
        'Authorization' => 'Basic '.base64_encode("$this->user:$this->password")
    ])
    ->setData(['name' => 'ahahahha'])
    ->send();
READ ALSO
Прокрутка строк в таблице на мобильной версии

Прокрутка строк в таблице на мобильной версии

Есть такая таблица элементов:

109
Узнать текст ссылки по которой перешли на сайт

Узнать текст ссылки по которой перешли на сайт

я столкнулся с ситуацией, когда мне нужно узнать текст ссылки по которой перешли на мой сайтУ меня система такая, что при переходе на страницу...

119
Не могу создать .docx из Blob javascript

Не могу создать .docx из Blob javascript

На клиенте заполняется форма и аяксом данные отправляются на сервер, где формируется документ и отправляется обратно клиентуКод сервера:

116
Как сравнить текущее время и время создания файла в PHP?

Как сравнить текущее время и время создания файла в PHP?

Имеется следующий php-код для создания кэш-файла:

104