[Spring Boot] - RESTful {Controller层的业务设计}

1. Controller层的业务设计

实际上,根据程序员必知之前端演进史一文所述Controller层应该做的事是:  

  1. 处理请求的参数 

  2. 渲染和重定向 

  3. 选择Model和Service 

  4. 处理Session和Cookies

我基本上认同这个观点,最多再加上OAuth验证(利用拦截器实现即可)。而真正的业务逻辑应该单独分处一层来处理,即常见的service层;

2. 在Controller层实现REST API

通过在Controller中引入xxxRepository来对外提供REST API。

详细的举例代码查看:杜琪:RESTful by Spring Boot with MySQL

3. Controller层代码容易出现的设计错误

Controller层代码容易出现两个问题:

  1. 返回值形式不统一;

  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


转载于:https://my.oschina.net/u/2401395/blog/662300

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值