我正在调用一个外部服务来获取ExternalID
,如果该服务不工作,我所需要的只是用null
填充值
return externalClient.getExternalId() //returns Mono<String> or Mono.empty()
.map(id -> {
//in case of empty stream, i need call entity.setExternalId(null);
entity.setExternalId(id);
return entity;
});
尝试以下操作:
return externalClient.getExternalId()
.map(id -> {
entity.setExternalId(id);
return entity;
})
.switchIfEmpty(() -> {
entity.setExternalId(null);
return Mono.just(entity);
});
或
return externalClient.getExternalId()
.defaultIfEmpty(null)
.map(id -> {
entity.setExternalId(id);
return entity;
});
基本上,我试图实现的是调用第二个存储库(一个)或抛出一个异常,这取决于调用第一个存储库的结果。 我最初的想法是这样的: 这将对应于以下非反应性方法: 我还没有找到一种方法来以反应性非阻塞的方式做到这一点。所有我需要的是抛出一个错误,如果一个空的出来的第一个调用,并继续管道,如果不是空的;但我似乎不能使用或在这里正确,和没有帮助,因为它跳过了空的。 如果我使用而不是,我有一个解决办法,但我不太满意它
在选定的方法执行后,如何使菜单再次显示? 我有菜单选项打印到控制台。然后接受用户输入(1-6),调用相应的方法,然后返回菜单,供用户再次从菜单中选择。 选择的方法执行后,程序刚好结束。
问题内容: 我有一个适用于Django应用的命令行Python API。当我通过API访问该应用程序时,它应该返回JSON,而在浏览器中它应该返回HTML。我可以使用不同的URL访问不同的版本,但是如何只用一个模板在views.py中呈现HTML模板和JSON ? 要呈现HTML,我将使用: 但是如何在不放置JSON模板的情况下对JSON做同样的事情?(应为而不是) 什么将决定JSON和HTML输
我正在尝试使用SpringBoot2.0和新的reactive webFlux库。我想知道如何将通过无阻塞WebClient进行的两个调用的结果返回给我的Springboot API的调用者。我的代码是: 然而,如果我这样称呼它,我得到的回应是 而不是SearchResponse对象的内容。我觉得我可能错过了一个基本的点,这是如何工作的!我的想法是,因为WebClient没有阻塞,所以我可以向we
我正在尝试将嵌套映射转换为JSONObject,如下所示: (我试着按照这个例子放HashMap 我这样称呼它 我不明白的是为什么 null?据我所知,返回一个