CakePHP 3中的Add
操作(POST方法)无效,它询问我已经在json消息中通知的字段。让我解释一下:
mod_rewrite
激活; sakila
; 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']); app/config/routes.php
中存在的默认路由; 我正在使用Postman for Chrome并将标头Accept
和Content-Type
设置为application/json
并将POST发送到以下链接:http://localhost:8080/mtag/country,其中包含以下json内容:
{ "country": "BlaBlaBla", "last_update": "2015-12-24" }
但是我收到以下状态代码:412 Precondition Failed。 在返回的json中:
success: false, data: { code: 412, message: "2 validation errors occured", }
指示的缺失字段是country
和last_update
,但我在json中通知了他们。我做错了什么?有没有人举例说明如何使用json正确使用CakePHP CRUD?
答案 0 :(得分:0)
当我使用Postman测试cakePHP CRUD函数时,我不会将add_impl(std::is_same<T, int>());
用于application/json
,而是留空。对于身体部位,在使用Content-Type
身体时,只需使用form-data
而不是json对象。