我们将更新我们将在几周内发布的 SR1 的文档,但这里是完整的代码,展示了如何完成您所描述的内容。我们依赖项目反应器中的 EmitterProcessor:
@SpringBootApplication
@Controller
public class WebSourceApplication {
public static void main(String[] args) {
SpringApplication.run(WebSourceApplication.class);
}
EmitterProcessor<String> processor = EmitterProcessor.create();
@RequestMapping
@ResponseStatus(HttpStatus.ACCEPTED)
public void delegateToSupplier(@RequestBody String body) {
System.out.println("Sending " + body);
processor.onNext(body);
}
@Bean
public Supplier<Flux<String>> supplier() {
return () -> processor;
}
}
接着and then curl -H "Content-Type: text/plain" localhost:8080/ -d Hello