Service层咋来返回数据和错误

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

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

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年前 评论

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