Class TaskImportExportController

java.lang.Object
fr.tiogars.chat.domains.task.controllers.TaskImportExportController

@RestController @RequestMapping("/api/v1/task") public class TaskImportExportController extends Object
Exposes JSON and CSV import/export endpoints for Tasks.
Since:
0.1.0
  • Constructor Details

    • TaskImportExportController

      public TaskImportExportController(TaskFindAllService findAllService, TaskSeedService seedService, TaskCsvCodec csvCodec)
      Creates the import/export controller.
      Parameters:
      findAllService - domain record listing service
      seedService - domain record seed service
      csvCodec - CSV codec
  • Method Details

    • exportJsonTask

      @GetMapping(value="/export.json", produces="application/json") public List<Task> exportJsonTask()
      Exports records as JSON.
      Returns:
      domain records
    • exportCsvTask

      @GetMapping(value="/export.csv", produces="text/csv") public org.springframework.http.ResponseEntity<String> exportCsvTask()
      Exports records as CSV.
      Returns:
      CSV response
    • importJsonTask

      @PostMapping(value="/import.json", consumes="application/json") @ResponseStatus(CREATED) public List<Task> importJsonTask(@RequestBody List<@Valid CreateTaskRequest> records)
      Imports JSON records.
      Parameters:
      records - records to import
      Returns:
      stored records
    • importCsvTask

      @PostMapping(value="/import.csv", consumes="text/csv") @ResponseStatus(CREATED) public List<Task> importCsvTask(@RequestBody String csv)
      Imports CSV records.
      Parameters:
      csv - CSV document
      Returns:
      stored records