1

init csv support

This commit is contained in:
Christoph
2020-03-16 13:56:05 +01:00
parent f4ad729efd
commit 9f464fe859
3 changed files with 31 additions and 4 deletions

View File

@ -66,6 +66,7 @@ dependencies {
implementation 'io.springfox:springfox-swagger2:2.9.2'
implementation 'io.springfox:springfox-swagger-ui:2.9.2'
implementation 'com.github.javafaker:javafaker:1.0.2'
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-csv:2.10.2'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'

View File

@ -7,12 +7,11 @@ import mops.gruppen2.domain.Exceptions.EventException;
import mops.gruppen2.domain.Group;
import mops.gruppen2.domain.apiWrapper.UpdatedGroupRequestMapper;
import mops.gruppen2.domain.event.Event;
import mops.gruppen2.service.APIFormatterService;
import mops.gruppen2.service.EventService;
import mops.gruppen2.service.GroupService;
import mops.gruppen2.service.SerializationService;
import mops.gruppen2.service.*;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
/**
@ -55,4 +54,9 @@ public class APIController {
List<Group> groups = groupService.projectEventList(eventList);
return groups.get(0);
}
@PostMapping(value = "/uploadcsv", consumes = "text/csv")
public void uploadCsv(@RequestBody InputStream body) throws IOException {
System.out.println(CsvService.read(body));
}
}

View File

@ -0,0 +1,22 @@
package mops.gruppen2.service;
import com.fasterxml.jackson.databind.ObjectReader;
import com.fasterxml.jackson.dataformat.csv.CsvMapper;
import com.fasterxml.jackson.dataformat.csv.CsvSchema;
import mops.gruppen2.domain.User;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class CsvService {
public static List<User> read(InputStream stream) throws IOException {
CsvMapper mapper = new CsvMapper();
CsvSchema schema = mapper.schemaFor(User.class).withHeader().withColumnReordering(true);
ObjectReader reader = mapper.readerFor(User.class).with(schema);
return reader.<User>readValues(stream).readAll();
}
}