public Flux<Question> getQuestions(String categoryId) {
WebClient client = WebClient
.builder()
.baseUrl(getServiceUrl())
.build();
WebClient.ResponseSpec responseSpec = client
.get()
.uri("/questions/" + categoryId)
.retrieve();
return responseSpec.bodyToFlux(Question.class);
}
OptionServiceImpl:
public Flux<Option> getOptions(String questionId) {
WebClient client = WebClient
.builder()
.baseUrl(getServiceUrl())
.build();
WebClient.ResponseSpec responseSpec = client
.get()
.uri("/options/" + questionId)
.retrieve();
return responseSpec.bodyToFlux(Option.class);
}
但我不知道如何以反应的方式将一个问题和它的选项结合起来。谁能提点主意吗?
更新的解决方案:
@Data
@AllArgsConstructor
public class CompositeQuestion {
private String id;
private String description;
private String categoryId;
private List<Option> options;
现在要获取一个问题的列表选项,我的代码如下:
Flux<CompositeQuestion> compositQuestion = questionsFromCoreQuestionService.flatMap(question ->
optionService.getOptions(question.getId())
.collectList()
.map(options -> new CompositeQuestion(question.getId(), question.getDescription(), question.getCategoryId(), options)))
.subscribeOn(Schedulers.elastic());
让我们假设您有一个如下所示的类:
@Value
public class QuestionOptions {
private Question question;
private List<Option> options;
}
(@value注释来自龙目岛)
您可以检索具有如下选项的问题:
Flux<String> categoryIds = Flux.just("1", "2", "3");
Flux<QuestionOptions> questionOptions =
categoryIds.flatMap(categoryId ->
// retrieve questions for each category
questionService.getQuestions(categoryId)
// get options for each question
.flatMap(question -> optionService.getOptions(question.getId())
.collectList()
.map(optionList -> new QuestionOptions(question, optionList))
))
.subscribeOn(Schedulers.elastic()); // retrieve each question on a different thread.
我正在使用Spring4.0为RESTfulWeb服务创建POC。如果我们只传递字符串或任何其他基本数据类型,它就可以正常工作。 这个很好用。但如果我想将字节流或文件对象传递给函数,我如何编写具有这些参数的函数?我如何编写提供传递字节流的客户端? 我尝试了这个代码,但是得到了415个错误。 客户端代码-使用apache HttpClient
问题内容: 我有这个查询 和同一个1差异。不是 1周 ,而是 1个月 ,我该如何合并这两个并将它们分配给别名? 问题答案: 我将使用条件聚合来做到这一点: MySQL将布尔值视为整数,即为“ true”和“ false”。因此,使用可以计算匹配值的数量。(在其他数据库中,您将使用进行类似的操作。)
我试图理解Spring MVC Restful架构。想知道有多少种方法可以将SpringMVC与RESTfulWeb服务集成在一起。我可以看到其中一个是使用Rest模板。 这是在Spring MVC中使用rest Web服务的唯一方法吗? 我们可以单独使用SpringMVC开发web应用程序而不使用任何web服务吗。 如果我说错了,请指正。 谢谢你的帮助。
导航异步、非阻塞和反应性是一项非常有用的工作。。。给定2个非阻塞、无功、垂直。基于x/quarkus的微服务A和B,其中约束条件是A必须通过http与B通信。如果我想让服务保持被动(非阻塞): 我应该使用Vertex web客户端吗?文档说明它是一个异步客户机,但我假设它是vert。基于x的它也是非阻塞的吗?(我在这里区分异步和非阻塞) 任何帮助都会很好。谢谢
我面临的问题是,有一个服务,我必须调用,这是一个传统的Spring启动应用程序,而不是反应性的! 下面是一个示例endpoint,它接近上述遗留系统的想法: 我知道我不能用这个来实现真正的反应性善,有没有一个快乐的非阻塞和阻塞的媒介我可以在这里实现? 谢谢
问题内容: 我想将多个csv文件合并为一个df。 它们都是这种通用格式,带有两个索引列: 等等… 合并的df为: 我正在尝试此代码: 但我收到此错误: 问题答案: 我认为你需要,而不是: