我正在尝试将SpringReactor与我的SpringBoot应用程序一起使用。
我正在使用ProjectReactor 3.0.7。松开并安装Spring护套1.5.3。释放
在我的服务类中有一个返回通量的方法。
我想将该值返回到web层中的控制器。但是,我没有看到json响应中返回的值。
当我从浏览器调用http://localhost:8080时,我得到的响应是,{“预取”:-1}
我不确定我是否应该在返回响应之前做一些从Flux到String的转换。
我的代码在,https://github.com/bsridhar123/spring-reactor-demo/blob/master/src/main/java/com/demo/reactor/ReactiveApp.java
你能帮我找到正确的方法吗?
只有Spring 5(目前处于RC阶段)和Spring Boot 2(目前处于Milestone阶段)才会使用Retor进行完全的无功支持。
您可以独立于Spring使用Retor,但这并不会使框架变得反应性和异步,因此您会失去一些好处。您不能简单地返回Flux
,因为框架还不理解这种类型。
但是,如果您必须协调大量服务调用,我相信它在服务层仍然很有用。
在这种情况下,您可以在整个服务层中使用Flux
和Mono
,并将它们转换为Spring 4的DeferredResult
。比如:
DeferredResult<ResponseEntity<String>> result = new DeferredResult<>();
service.getSomeStringMono()
.map(n -> ResponseEntity.ok(n))
.defaultIfEmpty(ResponseEntity.notFound().build()
.subscribe(re -> result.setResult(re),
error -> result.setErrorResult(error));
return result;
我想用响应替换http异常,也就是说,我使用我想返回的responseentity,例如409如果没有通过名称找到用户,509如果没有通过邮件找到用户,我可以确定responseentity中的错误号及其描述吗?如果有,可以举例说明吗?
问题内容: 我想返回axios的响应,但始终返回的响应是不确定的: 控制台始终记录为未定义。他们以任何方式返回此响应。 问题答案: console.log不会等到该功能完全完成后再进行记录。这意味着您将必须进行异步处理,主要有两种方法: 回调-这是当您将函数作为参数传递到现有函数中时,将在axios调用完成后执行。这是如何与您的代码一起使用的: Promise-实现此目的的最简单方法是将其放在函数
问题内容: 我在Spring Boot中有一个示例RestController: 我正在使用JSON库 当我点击API时,我得到一个异常提示: 路径为[]的Servlet [dispatcherServlet]的Servlet.service()抛出异常[请求处理失败;嵌套异常为java.lang.IllegalArgumentException:未找到类型为org.json.JSONObject
我在Spring Boot中有一个RestController示例: 我正在使用JSON库 当我点击API时,我得到一个异常: 路径为[]的上下文中servlet[dispatcherServlet]的servlet.service()引发异常[请求处理失败;嵌套异常为java.lang.IllegalArgumentException:没有找到具有根本原因的返回值:class org.json.
我正在使用Spring Boot2.1.3开始使用reactive websockets。我创建了一个实现,如下所示: 但是,我想对来自websocket的请求作出反应,告诉我想要的数据的id是什么。我设法获得了这样的请求信息: 现在我不知道如何结合这两个实现? 我希望能做这样的事情: 但这只是立即断开websocket客户机而不做任何事情。
我用的是Spring助焊剂。我需要从不同的来源组装一个物体。如何确保两个流都返回了所需的数据? 比如: