[Spring Boot] - RESTful {Controller層的業務設計}

1. Controller層的業務設計

實際上,根據程序員必知以前端演進史一文所述Controller層應該作的事是:  html

  1. 處理請求的參數 前端

  2. 渲染和重定向 java

  3. 選擇Model和Service mysql

  4. 處理Session和Cookies程序員

我基本上認同這個觀點,最多再加上OAuth驗證(利用攔截器實現便可)。而真正的業務邏輯應該單獨分處一層來處理,即常見的service層;spring

2. 在Controller層實現REST API

經過在Controller中引入xxxRepository來對外提供REST API。sql

詳細的舉例代碼查看:杜琪:RESTful by Spring Boot with MySQLsegmentfault

3. Controller層代碼容易出現的設計錯誤

Controller層代碼容易出現兩個問題:api

  1. 返回值形式不統一;restful

  2. 沒有遵循標準的API設計(例如update方法實際上應該由客戶端返回更新過的完整對象,這樣就能夠直接調用save方法)

後續,我會參考RESTful API 設計指南進行學習,對API的設計進行本身的學習總結。

參考資料

  1. repository中的update方法

  2. 使用spring data建立REST應用

  3. 遇到的一個錯誤:at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize

  4. SPRING BOOT: DATA ACCESS WITH JPA, HIBERNATE AND MYSQL

相關文章
相關標籤/搜索