[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

相关文章
相关标签/搜索