Package com.streamconverter.web
Class StreamProcessingController
java.lang.Object
com.streamconverter.web.StreamProcessingController
@RestController
@RequestMapping("/api/v1/stream")
public class StreamProcessingController
extends Object
Web API controller for StreamConverter processing.
Provides REST endpoints to process data streams using existing StreamConverter functionality.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionreactor.core.publisher.Mono
<org.springframework.http.ResponseEntity<String>> health()
Health check endpoint.reactor.core.publisher.Mono
<org.springframework.http.ResponseEntity<reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer>>> processCsvExtraction
(reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer> inputData, String columnName) Process data stream with CSV extraction.reactor.core.publisher.Mono
<org.springframework.http.ResponseEntity<reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer>>> processJsonExtraction
(reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer> inputData, String jsonPath) Process data stream with JSON path extraction.reactor.core.publisher.Mono
<org.springframework.http.ResponseEntity<reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer>>> processWithPipeline
(reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer> inputData, String pipelineConfig) Process data stream with custom command pipeline.
-
Constructor Details
-
StreamProcessingController
public StreamProcessingController()
-
-
Method Details
-
processCsvExtraction
@PostMapping(value="/csv/extract", consumes="application/octet-stream", produces="application/octet-stream") public reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer>>> processCsvExtraction(@RequestBody reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer> inputData, @RequestParam String columnName) Process data stream with CSV extraction.- Parameters:
inputData
- binary input datacolumnName
- CSV column name to extract- Returns:
- processed data as binary stream
-
processJsonExtraction
@PostMapping(value="/json/extract", consumes="application/octet-stream", produces="application/octet-stream") public reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer>>> processJsonExtraction(@RequestBody reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer> inputData, @RequestParam String jsonPath) Process data stream with JSON path extraction.- Parameters:
inputData
- binary input datajsonPath
- JSON path expression- Returns:
- processed data as binary stream
-
processWithPipeline
@PostMapping(value="/process", consumes="application/octet-stream", produces="application/octet-stream") public reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer>>> processWithPipeline(@RequestBody reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer> inputData, @RequestHeader("X-Pipeline-Config") String pipelineConfig) Process data stream with custom command pipeline.- Parameters:
inputData
- binary input datapipelineConfig
- pipeline configuration header- Returns:
- processed data as binary stream
-
health
@GetMapping("/health") public reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<String>> health()Health check endpoint.- Returns:
- simple health status
-