搜尋

首頁  >  問答  >  主體

php - API 和 RESTful 的差別?

class UserController extends Controller
{
    private $state_fail = 0;
    private $state_success = 1;
    private $img_url = 'http://xxx.cn/';

    public function __construct()
    {
        parent::__construct();
        $this->appUrl = "http://xxx.cn/" . I("server.HTTP_HOST");
        header('Content-Type: application/json; charset=utf-8');
        $code = I('code');
        if (!$code) {
            $code = I('get.code');
        }
        switch ($code) {
            case 1001:
                $this->register(); 
                break;
            case 1002:
                $this->Login();
                break;
            case 1003:
                $this->Forget()
                break;
            case 1004:
                $this->Rem_equip();
                break;
                default:
                break;
        }
    }

上面是同事使用 thinkphp3.* 寫的接口,最近看到了 RESTful 這個概念,兩個是同一個東西嗎?如果不是,那兩個的差別,那種更好呢?謝謝!

迷茫迷茫2839 天前668

全部回覆(4)我來回復

  • 仅有的幸福

    仅有的幸福2017-05-16 13:08:05

    ThinkPHP:是一個免費開源的,快速、簡單的物件導向的輕量級PHP開發框架。
    RESTful:一種軟體架構風格,設計風格而不是標準,只是提供了一組設計原則和限制條件。它主要用於客戶端和伺服器互動類別的軟體。基於這個風格設計的軟體可以更簡潔,更有層次,也更容易實現快取等機制。
    一個是具體已經實現的框架,另一個是一種設計思想,一個是實際,一個理論;當然理論最終也可以變成實際。

    回覆
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 13:08:05

    api和restfulapi其實都是接口,不同點有兩個:
    1、restful使用http code代表狀態
    2、resetful最重要的是資源思想,他之所以靈活,是因為他很少參與業務邏輯,只定義資源操作。

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-16 13:08:05

    可以這麼理解,restful是api的一個設計思想,透過這個思想可以設計出更為合理的、更優雅的api。 ps:看了這個程式碼,我想說,這壓根就不是restful api。

    回覆
    0
  • 習慣沉默

    習慣沉默2017-05-16 13:08:05

    顯然不是同一個東西! !但狹義理解上來說我們有時候跟客戶端資料互動時通常會把介面叫做API,但其實API的定義會更廣。例如我們在學習一個框架的時候,我們會看它的api文檔,這時候API就不僅僅是數據相關的接口,而是對外提供的方法。

    而restful是API實現的一種形式,最明顯的特徵就是在介面URL中,盡量用名詞去代替動詞來表述該介面的意思。 而用http提供的method方法來實現動詞部分,GET用來取得資源,POST用來新建資源(也可以用來更新資源),PUT用來更新資源,DELETE用來刪除資源。

    回覆
    0
  • 取消回覆