【Guzzle】POST時のoptionの設定仕方
APIの条件が以下のようになっていて、JSONでオプションを送ってくれと言われている場合。
条件
Method: POST uri: /{ID} //対象のIDを指定 Media type: application/json //JSONで送ってねと言われている contents: required (array of string) //IDに対して追加する対象
<?php $base_url = "https://hoge"; //ダミーです $uri = "/" . $ID; $method = "POST"; $okomes = ['contents' => ['ビタミン', 'ミネラル', '食物繊維']]; //接続 $client = new Client($base_url); $options = [ 'json' => $okomes, // ここにぶち込むと勝手にjsonにしてくれる 'http_errors' => false, 'headers' => [ 'Accept' => 'application/json', 'Content-Type' => 'application/json' ] ]); $response = $client->request($method, $uri, $options); $response_contents_json = $response->getBody()->getcontents();
🙂💬
GETだとパラメータに打ち込むことができたけど、POSTだとそれができずoptionに突っ込む必要があった。
その時にform_paramsを使ってbodyに打ち込むとBadRequest飛んできたりしてはまってしまった。
(bodyにぶち込むとWarnningでそもそもリクエストが飛ばないなど問題ありありでした。
公式ドキュメントはちゃんと読もう。
Guzzle-公式ドキュメント
【HTML】checkbox のチェックを付けていない時もパラメータを送る
- checkbox のチェックが付いていない場合、 name も value も送信されない
<!-- チェックされた場合は on が送信されるが、 チェックされていない場合は何も送信されない。 --> <input type="checkbox" name="test" value="on">
- name属性が同じ場合、後に書かれたものが優先的に送信される
<!-- hidden 属性で、 vlaue に off を設定しておくと、 (1)が送信され、(2)は送信されない。 --> <!-- (1) --><input type="hidden" name="test" value="off"> <!-- (2) --><input type="checkbox" name="test" value="on">
<!-- 以下の場合、 test には最初(1)の off が設定されているが、 (2)の checked により value が(2)のものに上書きされ、 on が送信される。 --> <!-- (1) --><input type="hidden" name="test" value="off"> <!-- (2) --><input type="checkbox" name="test" value="on" checked>
🙂💬 分岐処理いっぱい書くことになるんだったら、これでサクッとやっちゃう方が私は好き。
【Laravel】メンテナンスモードの切替, IP制限の設定
Maintenance Mode
メンテナンスモードの切替が標準搭載されている
メンテナンスモード有効
$ php artisan down Application is now in maintenance mode.
メンテナンスモード無効
$ php artisan up Application is now live.
この時のメンテナンス画面は resources/views/errors/503.blade.php
が使われる
上記ファイルがない場合の画面はこれ
IP制限をかけることもできる
指定したIPからのアクセスの場合は正常に画面を表示する
設定は.env
からカンマ区切りで指定できる
#メンテナンス時のアクセス許可IP MAINTENANCE_IP=IPaddress1,IPaddress2,IPaddress3