首页 > 解决方案 > php - Codeigniter Rest api 简单的 CRUD

问题描述

我在将数据插入 MySQL 时遇到了这个问题,这需要使用邮递员的 POST 方法。

此函数data_post()从数据库中插入数据,但是当我尝试使用邮递员插入数据原始数据时

{"id":"2","name":"ropen","password":"pamela005"}

我在邮递员上遇到此错误:

405 方法不允许

这是我的控制器 Users.php

public function data_post(){
    $params = [
        'id' => 1,
        'name' => 'John Doe',
        'password' => 'test'
    ];
    $resp = $this->user_model->data($params);
    $this->set_response($resp, REST_Controller::HTTP_CREATED);    
}

模型 User_model.php

public function data($data){   
      $this->db->insert('user',$data);
   }

标签: phprestcodeignitercodeigniter-3codeigniter-restapi

解决方案


希望对你有帮助 :

您必须首先使用获取post数据$this->post(),应该是这样的:

注意:如果您的id列是自动增量的,则无需在其中添加 id$params

public function data_post()
{
    $id = $this->post('id');
    $name = $this->post('name');
    $password = $this->post('password');

    $params = array('id' => $id,'name' => $name,'password' => $password);
    $resp = $this->user_model->data($params);
    $this->set_response($resp, REST_Controller::HTTP_CREATED);    
} 

更多信息:https ://github.com/chriskacerguis/codeigniter-restserver#handling-requests


推荐阅读