इस तरह हेडर मैन्युअल रूप से सेट करने की आवश्यकता नहीं है।
विशिष्ट कार्रवाई/विधि में आप ऐसा है जैसे कि यह निर्धारित कर सकते हैं:
return ['param' => $value];
आप सरकारी डॉक्स में इस संपत्ति पा सकते हैं:
use Yii;
use yii\web\Response;
...
public function actionIndex()
{
Yii::$app->response->format = Response::FORMAT_JSON;
}
तब के बाद कि बस ऐसे ही एक सरल सरणी वापसी here।
/**
* @inheritdoc
*/
public function behaviors()
{
return [
[
'class' => ContentNegotiator::className(),
'only' => ['index', 'view']
'formats' => [
'application/json' => Response::FORMAT_JSON,
],
],
];
}
अधिक सेटिंग्स नहीं हैं, तो आप official docs में यह जांच कर सकते हैं:
विशेष ContentNegotiator
फिल्टर का उपयोग कर एक से अधिक कार्रवाई के लिए और अधिक लचीला दृष्टिकोण है।
बाकी के लिए, आधार yii\rest\Controller पहले से ही यह json
और xml
के लिए निर्धारित है:
'contentNegotiator' => [
'class' => ContentNegotiator::className(),
'formats' => [
'application/json' => Response::FORMAT_JSON,
'application/xml' => Response::FORMAT_XML,
],
],
महान जानकारी के लिए धन्यवाद arogachev। हालांकि मेरा सवाल यह था कि yii2 में जेसन एन्कोड कैसे करें, आपने सेटिंग्स शीर्षलेखों पर एक अच्छी जानकारी दी है धन्यवाद –