在处理 RESTful API 时,我不太清楚这些反应类型。
我的理解是,非响应式请求/响应由简单的 POJO 类型或String
类型组成。另一方面,响应式请求/响应——例如,如果使用 RxJava——2.x
由Simple<T>
or组成Flowable<T>
。
HttpRequest<T>
但是,在使用/ HttpResponse<T>
“包装器”类型时如何处理反应模型/方式?我一直喜欢用这些而不是任何其他类型来表达请求/响应,因为很多时候可能需要表达不同的 HTTP 响应类型(除其他外),例如:
@Get(value = "/{id}", produces = [MediaType.APPLICATION_JSON])
fun getById(id: String): HttpResponse<Issue> {
//logger.info { "${request.method} ${request.path}" }
return service.findById(UUID.fromString(id))
.map { HttpResponse.ok(it) }
.orElseGet { HttpResponse.notFound() }
}
所以我的问题是:
HttpRequest<T>
使用/HttpResponse<T>
“包装器”类型在 Micronaut 中实现反应式 RESTful API 的正确方法是什么?- 在使用非反应性方法和反应性方法时,有没有办法验证任何差异?