php Restful APIの例

不言
リリース: 2023-03-23 17:32:01
オリジナル
7123 人が閲覧しました

この記事で共有するコンテンツは php Restful API の例であり、必要な友人が参照できるようにするため、さまざまなフロントエンド デバイスとバックエンド。これにより、API アーキテクチャの人気が高まり、「API ファースト」という設計思想の出現にさえつながりました。 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');
ログイン後にコピー
ログイン後にコピー

コントローラー ファイルは次のとおりです:

//使用restfulapi实现activity的curdclass 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'
ログイン後にコピー
ログイン後にコピー

でテストできます

したがって、異なるフロントエンド デバイスとバックエンド間の通信を促進するための統一されたメカニズムが必要です。これにより、API アーキテクチャの人気が高まり、「API ファースト」という設計思想の出現にさえつながりました。 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');
ログイン後にコピー
ログイン後にコピー

コントローラー ファイルは次のとおりです:

//使用restfulapi实现activity的curdclass 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 PUTメソッドのパラメータの送信と受信の詳細な説明

yii2のRestful API認可検証の詳細な説明

以上がphp Restful APIの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート