實際上,根據程序員必知以前端演進史一文所述Controller層應該作的事是: html
處理請求的參數 前端
渲染和重定向 java
選擇Model和Service mysql
處理Session和Cookies程序員
我基本上認同這個觀點,最多再加上OAuth驗證(利用攔截器實現便可)。而真正的業務邏輯應該單獨分處一層來處理,即常見的service層;spring
經過在Controller中引入xxxRepository來對外提供REST API。sql
詳細的舉例代碼查看:杜琪:RESTful by Spring Boot with MySQLsegmentfault
Controller層代碼容易出現兩個問題:api
返回值形式不統一;restful
沒有遵循標準的API設計(例如update方法實際上應該由客戶端返回更新過的完整對象,這樣就能夠直接調用save方法)
後續,我會參考RESTful API 設計指南進行學習,對API的設計進行本身的學習總結。