CodeIgniter REST API 配置指南 | AI生成和翻译

Home 2025.10

以下是一份清晰的分步指南,帮助您理解和使用您分享的 CodeIgniter REST API 配置文件(application/config/rest.php)。该文件用于配置 REST_Controller 库(一个用于在 CodeIgniter 中构建 RESTful API 的热门 PHP 库,例如 Phil Sturgeon 的 REST 库,现在某些版本中作为 CodeIgniter 框架的一部分进行维护)的行为。

我将解释:

如果您的疑问涉及特定方面(例如身份验证或限制),请进一步说明以获得更有针对性的建议!

1. 前提条件和设置

2. 关键配置选项

我将总结您配置文件中的主要设置,按用途分组。这些设置控制全局行为。您可以根据需要修改它们(例如,启用 HTTPS 或更改默认格式)。

修改方法:编辑 rest.php 并重启您的应用。仔细测试更改!

3. 使用方法:分步使用指南

设置完成后,通过构建继承 REST_Controller 的控制器来创建 API 端点。以下是高级流程:

  1. 创建控制器:
    • application/controllers/ 目录中,创建 Api.php(或例如,为特定资源创建 Users.php):
      <?php
      defined('BASEPATH') OR exit('No direct script access allowed');
      require_once(APPPATH . 'libraries/REST_Controller.php');
      
      class Api extends REST_Controller {
          public function __construct() {
              parent::__construct();
              // 可选:为每个方法设置身份验证、限制
              $this->load->database();
              $this->method['index_get']['limit'] = 100; // 100 次请求/小时
          }
      
          // GET /api
          public function index_get() {
              $data = ['message' => '欢迎使用 API', 'status' => 'success'];
              $this->response($data, REST_Controller::HTTP_OK);
          }
      
          // POST /api/users
          public function users_post() {
              $data = $this->input->post(); // 获取 POST 数据
              if (empty($data['name'])) {
                  $this->response(['error' => '需要提供姓名'], REST_Controller::HTTP_BAD_REQUEST);
              }
              // 处理(例如,插入数据库)
              $this->response(['message' => '用户已创建'], REST_Controller::HTTP_CREATED);
          }
      
          // PUT /api/users/{id}
          public function users_put($id) {
              $data = $this->put(); // 获取 PUT 数据
              // 更新 ID 为 $id 的用户
              $this->response(['message' => '用户已更新'], REST_Controller::HTTP_OK);
          }
      
          // 等等,用于 DELETE 等方法
      }
      
  2. 发送请求:
    • 使用任何 HTTP 客户端:
      • GET:curl http://yourdomain.com/api → 返回 JSON {“message”: “欢迎使用 API”, “status”: “success”}
      • POST:curl -X POST http://yourdomain.com/api/users -d "name=John" → 创建用户。
    • 如果使用身份验证/密钥,请包含请求头(例如,Authorization: Basic base64(user:pass)X-API-KEY: yourkey)。
  3. 测试和调试:
    • 检查 CodeIgniter 日志以查找错误。
    • 如果身份验证失败,请确保凭据设置正确。
    • 对于限制/日志记录,查询您的数据库表。

4. 常见提示和最佳实践

如果这未能解答您的具体问题,或者您需要针对特定用例(例如启用 OAuth)的代码,请提供更多详细信息!


Back

x-ai/grok-code-fast-1

Donate