rest - Yii2 Rest API PUT方法调用不起作用

标签 rest yii2

在我的 Controller 中:

namespace app\api\modules\v1\controllers;

use yii\rest\ActiveController;
use yii\filters\VerbFilter;
use yii\web\Response;

class CountryController extends ActiveController
{
public $modelClass = 'app\models\Country';

public function behaviors()
{
    return [
        [
           'class' => 'yii\filters\ContentNegotiator',
           'only' => ['index', 'view','create','update','search'],
           'formats' => ['application/json' =>Response::FORMAT_JSON,],

        ],
        'verbs' => [
            'class' => VerbFilter::className(),
            'actions' => [
                'index'=>['get'],
                'view'=>['get'],
                'create'=>['post'],
                'update'=>['PUT'],
                'delete' => ['delete'],
                'deleteall'=>['post'],
                'search'   => ['get']
            ],

        ]
    ];
}
}`

我从我的POSTMAN应用程序尝试

对于创建,我使用POST http://localhost/myapp/api/v1/countries工作正常。但是对于更新,我使用PUT http://localhost/myapp/api/v1/countries/16返回16记录作为JSON输出,未按预期更新。

哪里错了?谢谢!!

最佳答案

在POSTMAN App中,打开“请求正文”选项卡,然后选择x-www-form-urlencoded而不是form-data。那对我有用。

x-www-form-urlencoded selected

关于rest - Yii2 Rest API PUT方法调用不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37025353/

相关文章:

mysql - mysql中where子句中计算字段的用法

php - Yii2 检查 ActiveRecord 是否成功加载记录

javascript - 限制保存在我的数据库中的特定域的 PHP API

java - 使用 jersey 在 URL 中进行 REST 版本控制

css - 在 Yii2 gridview 中更改边框颜色

javascript - Yii2:比较表格/数组输入中的开始和结束时间

java - 如何在 TomEE 中配置 CXF

java - 如何在 HTTP 请求中发送对象

c# - C# 中的 Twitter 服务代理

jquery - 如何在 Yii2 中的 2amigos Datepicker 中设置开始日期