繁体   English   中英

CakePHP + Crud“添加”操作(POST)返回412前提条件失败

[英]CakePHP + Crud “Add” action (POST) returning 412 Precondition Failed

CakePHP 3中的Add操作(POST方法)不起作用,它正在询问我已在json消息中告知的字段。 让我解释:

我的情况是:

  • 我正在使用WAMP,并且我的Apache已激活mod_rewrite
  • 我正在使用作曲家,并安装了CakePHP 3和CRUD(friendsofcake / crud);
  • 我正确设置了MySQL数据库连接;
  • 我正在使用MySQL示例数据库sakila ;
  • 我从Bake生成了Country模型;
  • 我更改了AppController类的内容以加载CRUD插件,将其内容更改为:
namespace App\Controller;

use Cake\Controller\Controller;

class AppController extends Controller {

    use \Crud\Controller\ControllerTrait;

    public $components = [
        'RequestHandler',
        'Crud.Crud' => [
            'actions' => [
                'Crud.Index',
                'Crud.View',
                'Crud.Add',
                'Crud.Edit',
                'Crud.Delete'
            ],
            'listeners' => [
                'Crud.Api',
                'Crud.ApiPagination'
            ]
        ]
    ];
}
  • 我在app/config/routes.php添加了Router :: extensions(['json','xml']);
  • 我添加了$ routes-> resources('Country'),而没有删除app/config/routes.php存在的默认路由;
  • 我的根站点地址是http:// localhost:8080 / mtag

问题如何发生:

我使用Chrome的Postman,并将标头AcceptContent-Type值设置为application/json ,并将POST发送到以下链接: http:// localhost:8080 / mtag / country,其中包含以下json内容:

{
  "country": "BlaBlaBla",
  "last_update": "2015-12-24"
}

但是我收到以下状态代码:412前提条件失败。 在返回的json中:

success: false,
data: {
  code: 412,
  message: "2 validation errors occured",
}

指示的缺少字段是countrylast_update但我在json中通知了它们。 我做错了什么? 有人有示例如何使用json正确使用CakePHP CRUD吗?

当我使用Postman测试cakePHP CRUD函数时,我不对Content-Type使用application/json ,但将其留空。 对于主体部分,在使用raw主体时,只需使用form-data而不是json对象即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM