php Restful api 示例

因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现”API First”的设计思想。RESTful API是目前比较成熟的一套互联网应用程序的API设计理论

restful api 格式如下:

GET /zoos:列出所有动物园
POST /zoos:新建一个动物园
GET /zoos/ID:获取某个指定动物园的信息
PUT /zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息)
PATCH /zoos/ID:更新某个指定动物园的信息(提供该动物园的部分信息)
DELETE /zoos/ID:删除某个动物园
GET /zoos/ID/animals:列出某个指定动物园的所有动物
DELETE /zoos/ID/animals/ID:删除某个指定动物园的指定动物

php示例如下:
路由文件:

    //获取列表
    $router->get('activity', 'ActivityController@index');
    //获取某一个活动
    $router->get('activity/{id}', 'ActivityController@get');
    //创建一个活动
    $router->post('activity', 'ActivityController@create');
    //更新一个活动
    $router->put('activity/{id}', 'ActivityController@update');
    //删除一个活动
    $router->delete('activity/{id}', 'ActivityController@delete');

controller文件如下:

//使用restfulapi实现activity的curd
class ActivityController
{
    //获取列表
    public function index()
    {
        return Resp::outs(Activity::all());
    }

    //获取某一个活动
    public function get($id)
    {
        return Resp::outs(Activity::where('id', $id)->first());
    }

    //创建一个活动
    public function create(Request $request)
    {
        $data = $request->all();
        return Resp::outs(Activity::create($data));
    }

    //更新一个活动
    public function update(Request $request, $id)
    {
        $data = $request->all();
        return Resp::outs(Activity::where('id', $id)->update($data));
    }

    //删除一个活动
    public function delete($id)
    {
        return Resp::outs(Activity::where('id', $id)->delete());
    }
}

可以用curl进行测试

 curl 'http://www.loanapi.com/activity'
 curl 'http://www.loanapi.com/activity/26'
 curl -X POST 'http://www.loanapi.com/activity' -d 'title=xly'
 curl -X PUT 'http://www.loanapi.com/activity/26' -d 'title=xly'
 curl -X DELETE 'http://www.loanapi.com/activity/26'
要使用 PHP 实现 RESTful API,可以按照以下步骤操作: 1. 设计 API 的 URL 结构和 HTTP 动词 RESTful API 的核心是使用 HTTP 动词来表示资源的操作,例如 GET、POST、PUT、DELETE 等。另外,API 的 URL 结构也需要设计得合理,以便用户可以轻松地找到资源。 2. 创建 API 的路由 在 PHP ,可以使用框架(例如 Laravel、Symfony 等)来创建 RESTful API 的路由。在路由文件,需要为每个资源定义相应的 URL 和 HTTP 动词。 3. 实现 API 的控制器 控制器负责处理 API求,并返回相应的响应。在控制器,需要编写相应的代码来处理 GET、POST、PUT、DELETE 等操作。 4. 处理求参数和数据 API 求通常包含参数和数据。在 PHP ,可以使用 $_GET、$_POST、$_PUT、$_DELETE 等预定义变量来获取求参数和数据。在控制器,需要对这些变量进行适当的处理。 5. 返回 JSON 数据 RESTful API 通常返回 JSON 数据。在 PHP ,可以使用 json_encode() 函数将数据转换为 JSON 格式,并使用 header() 函数设置 Content-Type 头部为 application/json。 6. 处理错误 在编写 RESTful API 的过程,需要考虑各种错误情况,例如资源不存在、无效的求等。在控制器,需要编写相应的代码来处理这些错误情况,并返回相应的错误信息。 示例代码: 以下是一个简单PHP RESTful API 示例代码: ```php <?php require_once 'vendor/autoload.php'; use Slim\Slim; $app = new Slim(); // GET /books $app->get('/books', function () use ($app) { $books = array( array('id' => 1, 'title' => 'The Catcher in the Rye', 'author' => 'J. D. Salinger'), array('id' => 2, 'title' => 'To Kill a Mockingbird', 'author' => 'Harper Lee'), array('id' => 3, 'title' => '1984', 'author' => 'George Orwell') ); $app->response()->header('Content-Type', 'application/json'); echo json_encode($books); }); // POST /books $app->post('/books', function () use ($app) { $book = json_decode($app->request()->getBody()); // Save the book to the database $app->response()->header('Content-Type', 'application/json'); echo json_encode(array('status' => 'success')); }); // PUT /books/:id $app->put('/books/:id', function ($id) use ($app) { $book = json_decode($app->request()->getBody()); // Update the book in the database $app->response()->header('Content-Type', 'application/json'); echo json_encode(array('status' => 'success')); }); // DELETE /books/:id $app->delete('/books/:id', function ($id) use ($app) { // Delete the book from the database $app->response()->
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值