私はREST_Controller拡張CI_Controllerを使用していますが、何らかの理由で、リクエストはすべてjsonではなくtext/htmlのコンテンツタイプで返されます。私の設定では、jsonをデフォルトの形式として設定しています:
$config['rest_default_format'] = 'json';
結果はJSONとして返されますが、コンテンツタイプが設定されていません。誰かが私が欠けているものを手伝ってくれる?
私はREST_Controller拡張CI_Controllerを使用していますが、何らかの理由で、リクエストはすべてjsonではなくtext/htmlのコンテンツタイプで返されます。私の設定では、jsonをデフォルトの形式として設定しています:
$config['rest_default_format'] = 'json';
結果はJSONとして返されますが、コンテンツタイプが設定されていません。誰かが私が欠けているものを手伝ってくれる?
設定でフォーマットが設定されているかどうかはわかりません。ただし、簡単な回避策は、出力クラスを使用してヘッダーコンテンツタイプを設定することです。たとえば、次のようになります。
$this->output
->set_content_type('application/json')
->set_output(json_encode(array('foo' => 'bar')));
(マニュアルから引用:ここ)
各関数でcontect_typeを設定すると役立ちますが、コンストラクターでこれを設定することにより、コントローラーレベルでこれを汎用にすることができます。
public function __construct() {
parent::__construct();
...
$this->output->set_content_type('application/json');
}
したがって、各機能レベルで出力を設定するだけです。
$this->output->set_output('{"message":"Failure"}');
これは私のために働いた。