我想從數據庫中自動生成Web API。我可以很容易地用SQL查詢數據庫,但顯然這不適用於公共API。我也可以手動編寫服務器端代碼,但這需要很長時間,因爲數據庫相當大。另外,手動編寫它會是一個非常機械和重複的任務,所以我不明白爲什麼一個程序不能爲我做。如何從數據庫「生成」Web API?
例如,假設我在我的數據庫中有一個名爲「Announcements」的表格。我正在尋找一種方法(給定該數據庫表),自動生成服務器端代碼,以允許某人創建新通告,並需要正確的字段。手動完成,這看起來像一個名爲「create_announcement.php」的PHP文件,它需要數據庫中存在的所有字段,例如公告標題,正文和作者。當然,這也可以通過遵循一些設計模型(比如REST)以更清晰的方式完成,但這僅僅是一個例子。
我正在考慮其他的事情是:
- 認證的某種形式。例如,如果用戶想要刪除公告,他/她應該被要求「登錄」來這樣做。我不確定這是如何工作的。
- 添加邏輯的一些方法。如果我可以生成一個通過HTTP訪問數據庫的API(正如我上面所描述的那樣),API將不會意識到某些特定性。假設公告資源應在今日之後包含日期必須是。我需要一種方法在代碼中表達。
- 如果解決方案可以遵循一些設計模型,以便更容易地從不同的客戶端訪問,那將是理想的選擇。
那麼我應該看什麼樣的工具?人們在面對這個問題時採取的一般方法是什麼?
聽起來像[Doctrine](http://www.doctrine-project.org/)或[Yii](http://yiiframework.com)。 –
我看過Yii。問題在於它也似乎也想爲你做客戶端的東西。我希望手動創建一個單獨的AJAX應用程序。但我會閱讀關於教義。 – Hassan
這些ORM /製圖系統中的大多數將會變得沉重。這是主要的投訴之一。 –