【发布时间】:2021-04-14 07:03:48
【问题描述】:
我是 Micronaut 的新手,查看示例我无法确定控制器方法的正确返回类型。我需要一个 API 方法,它接受字符串、验证输入、从数据库中获取一些数据并返回 ObjectA 以成功处理,ObjectB 用于业务逻辑中的已处理异常,ObjectC 用于未处理/运行时异常。
public HttpResponse mapItem(@Valid final CustomRequest request,
final HttpRequest httpRequest) {
//@Valid can throw exceptions
return service.process(request); //can throw exception
}
- 返回类型应该是
HttpResponse、HttpResponse<ObjectA>还是Single<HttpResponse<ObjectA>>还是Maybe<HttpResponse<ObjectA>? - 有没有一种方法可以显式声明
Single或Maybe的错误类型,以帮助代码审查人员了解此API 可以在出现错误时返回ObjectB或ObjectC? - 如果发生未处理的异常,RX
disposable会自动关闭和清理资源吗?我还在 Android 上工作,我们需要手动关闭流。
【问题讨论】:
标签: rx-java reactive-programming rx-java2 micronaut micronaut-rest