API/V1 /コントローラ/のREST APIでのファイルアップロードyii2
class ProfileController extends ActiveController
{
public $modelClass = 'app\models\Profile';
public function behaviors()
{
return [
[
'class' => 'yii\filters\ContentNegotiator',
'only' =>
['index', 'view', 'createnew','update','search'],
'formats' =>
['application/json' => Response::FORMAT_JSON,],
],
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'index' => ['get'],
'view' => ['get'],
'createnew' => ['post'],
'update' => ['put'],
'delete' => ['delete'],
'deleteall' => ['post'],
'search' => ['get']
],
]
];
}
public function actionCreatenew() {
$model = new Profile();
$model->load(Yii::$app->request->post());
$model->asset = UploadedFile::getInstance($model, 'asset');
$name = $model->user_id;
if($model->asset) {
$model->asset->saveAs('uploads/'.$name.'.
'.$model->asset->extension);
$model->asset = $model->asset->name.'.'.
$model->asset->extension;
}
if($model->save()) {
echo json_encode(array('status'=>"Success",
'data'=>$model->attributes),JSON_PRETTY_PRINT);
} else {
echo json_encode(array('status'=>"Failure",
'error_code'=>400,
'errors'=>$model->errors),JSON_PRETTY_PRINT);
}
}
}
内部の私のコントローラファイルIは次のようにポストマンからのアクセスこれを使用しよう: POST http://localhost/myapp/api/v1/profiles
I無効なパラメータを取得する - yii \ base \ InvalidParamException
応答内容は配列であってはなりません。
問題は何ですか?助けに感謝します!おかげ
私はこの問題を私のapi/config.phpファイルに追加することで問題を解決しました。 '' '' enablePrettyUrl '=> true、' enableStrictParsing '=> true、' showScriptName '=> false、' rules ' => ['class' => 'yii \ rest \ UrlRule'、 'controller' => ['v1/country'、 'v1/profile']、 'extraPatterns' => ['POST createnew' => 'createnew '、]、]、]、]、' – Jackhad