Service层咋来返回数据和错误

我在项目中使用了service层,如果我在里面要返回,错误提示和数据,这个想问下大家是咋弄的。是直接在service里面抛出错误,然后在外面的控制器里面捕获吗

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

1.如果想service抛出异常,controller接收,那么controller->try+catch,service->throw即可;

2.如果无需再控制层处理的化,直接全局异常抛出的话,直接再App\Exceptions\Handler.php监听异常类即可。

——而像你说的使用了 service 层,如果我在里面要返回,错误提示和数据

简化版写法
service:
$this->error = '动态将于`' . date('Y-m-d H:i:s', $push_time) . '`发布成功!';
return false;

controller:
$status = $service->function
$service->error
1年前 评论
讨论数量: 7

1.如果想service抛出异常,controller接收,那么controller->try+catch,service->throw即可;

2.如果无需再控制层处理的化,直接全局异常抛出的话,直接再App\Exceptions\Handler.php监听异常类即可。

——而像你说的使用了 service 层,如果我在里面要返回,错误提示和数据

简化版写法
service:
$this->error = '动态将于`' . date('Y-m-d H:i:s', $push_time) . '`发布成功!';
return false;

controller:
$status = $service->function
$service->error
1年前 评论

我是直接在service抛出异常,然后在全局异常进行处理

1年前 评论

简单的做法就是直接在service中抛异常,然后在 App\Exceptions\Handler.php 中集中处理。

1年前 评论
sanders

Service 里面直接抛

1年前 评论
DonnyLiu

直接抛出异常的

1年前 评论

除了方法之类的需要回参判断,其他一律直接 throw,然后全局捕获 Exception 就行,要不你返回到 Controller 然后 Controller 还需要再判断一次,然后再返回,层层套娃。

1年前 评论

file

file 就是这么简单随意 要啥自行车

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!