From aec0dff5477cafce865410381a722fedbac04ac1 Mon Sep 17 00:00:00 2001 From: Szymon Szukalski Date: Tue, 23 Jul 2024 15:25:17 +1000 Subject: Implement simple /import endpoint and test --- .../markr/controller/TestResultsController.java | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/main/java/com/stileeducation/markr/controller/TestResultsController.java (limited to 'src/main/java/com/stileeducation/markr/controller') diff --git a/src/main/java/com/stileeducation/markr/controller/TestResultsController.java b/src/main/java/com/stileeducation/markr/controller/TestResultsController.java new file mode 100644 index 0000000..b1a5e63 --- /dev/null +++ b/src/main/java/com/stileeducation/markr/controller/TestResultsController.java @@ -0,0 +1,32 @@ +package com.stileeducation.markr.controller; + +import com.stileeducation.markr.dto.MCQTestResultsDTO; +import com.stileeducation.markr.service.TestResultsService; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/") +public class TestResultsController { + + public static final String IMPORT_ENDPOINT = "/import"; + + private final TestResultsService testResultsService; + + public TestResultsController(TestResultsService testResultsService) { + this.testResultsService = testResultsService; + } + + // TODO - update to consume text/xml+markr, consider return value + @PostMapping(value = IMPORT_ENDPOINT, consumes = "application/xml", produces = "application/json") + public ResponseEntity handleXmlRequest(@RequestBody MCQTestResultsDTO testResults) { + testResultsService.importTestResults(testResults); + + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + +} -- cgit v1.2.3