Tôi đang tạo phụ trợ dịch vụ web cho ứng dụng dành cho thiết bị di động mà tôi đang phát triển. (Tôi là một nhà phát triển kinh nghiệm Obj-C, không phải là một nhà thiết kế web!) Về cơ bản tôi muốn sử dụng Codeigniter và Restful API RESTful API Server https://github.com/philsturgeon/codeigniter-restserver tuy nhiên, tôi đang gặp một số vấn đề khi thiết lập và làm việc.API REST với CodeIgniter
Tôi có cơ sở dữ liệu MySQL được thiết lập với dữ liệu trong đó. Và tôi cần một số trợ giúp viết một mô hình PHP CodeIgniter và bộ điều khiển trả về dữ liệu JSON về những gì nằm bên trong cơ sở dữ liệu đó. Tất cả các hướng dẫn và bài viết của diễn đàn tôi đã tìm thấy đối phó với dữ liệu hardcoded trong controler, không phải là một cơ sở dữ liệu MySQL. Tôi lý tưởng muốn có URL được định dạng như thế này http://api.mysite.com/v1/search?id=1&name=foo&city=bar, tôi có khả năng có hơn 50 tham số để chuyển vào url.
Sử dụng mã Phil, tôi đã đưa ra với điều này như điều khiển của tôi:
public function index_get()
{
if (!$this->get('id'))
{
$this->response(NULL, 400);
}
$data = $this->grid_m->get_id($this->get('id'));
if ($data)
{
$this->response($data, 200);
}
else
{
$this->response(NULL, 404);
}
}
Đó chỉ được tôi một thuật ngữ tìm kiếm:? Id = # .. Tôi cần phải biết làm thế nào để có được nhiều điều kiện tìm kiếm
Đây là mô hình CodeIgniter tôi:
<?php
class Grid_m extends CI_Model
{
function get_all()
{
$query = $this->db->get('grid');
if ($query->num_rows() > 0)
{
return $query->result();
}
return FALSE;;
}
này chỉ trả về tất cả mọi thứ trong cơ sở dữ liệu MySQL của tôi bất kể những gì id hoặc url hạn tôi vượt qua nó trong URL.
Tôi là một noob lớn khi phát triển API tùy chỉnh của riêng mình nên mọi đề xuất về cách khắc phục bộ điều khiển và mô hình cơ sở dữ liệu của tôi sẽ là một trợ giúp lớn!
Cảm ơn sự giúp đỡ!
-brian
Vâng, phương pháp của bạn được gọi là "get_all", vì vậy tôi cho rằng hành vi này là đúng ... hiển thị "get_id()" phương pháp thay –