2011-10-06 84 views
1

我想這更多的是一個設計問題,但我目前有一個REST(澤西島)Web應用程序公開允許用戶搜索特定URL的信息的API。REST API設計+標準MVC webapp

用戶需要註冊/登錄才能接收API生成的密鑰,然後在訪問我們的API時使用它們。基本上,任何與暴露API或通過GETS,POSTS等訪問它的任何操作都將在此處進行。

因此,上述服務作爲一個網絡應用程序。

但是我需要爲這個站點設計一個管理組件,本質上爲管理員添加新用戶,限制用戶可以發送給我們的API的請求數量,限制用戶超出那些分配的請求等。我在想這個組件,我是否應該開發一個帶有標準MVC框架(例如Spring MVC)的獨立管理Web應用程序,並將其與REST API webapp分開處理?

在我看來,在網站的管理方面使用REST似乎有點不自然,因爲REST在我眼中只是將API作爲服務公開給客戶端。或者將此管理方面結合到現有的REST Web應用程序中是否正確?

我打算做的是如下:

  1. REST API Web應用程序連接到NoSQL的持久性存儲。客戶可以登錄查看用戶信息,例如儀表板,以及他們已經使用的API服務的請求歷史等。

  2. 獨立的Web應用程序使用MVC管理所有管理方面。

請注意,您必須共享一個用於訪問用戶憑證信息的Mysql存儲,與實際上將存儲URLS的數據集信息的第二個存儲區分開。

請指教。

回答

1

爲什麼不將Admin作爲客戶端API?您可以輕鬆地命令行腳本,並且您可以快速啓動並運行管理服務器。

您想要的任何GUI都可以在以後使用管理API添加,因此不會丟棄代碼。

這是我的首選管理路線。