Как экспортировать список данных в CSV-файл в остальных API - PullRequest
0 голосов
/ 21 февраля 2019

Я экспортирую список пользовательских записей в csv-файл в моем REST-приложении sprig boot.Я использую Supercsv Maven зависимость для этого.Мой класс сущности для User & Address выглядит следующим образом.

User

     Class User{

private String userId;
private String name;
private int age;
private double salary;
private List<Address> addresses;
}

Address

 class Address{

private String id;
private String city;
private String street;
private String country;

}

enter code here

А мой основной класс контроллера выглядит следующим образом.

@GetMapping("/exportCsv")
public ResponseEntity<?> exportCsv(HttpServletResponse response) {



    try {
    List<User> userList = getUserList();

    String csvFileName = "users.csv";

    response.setContentType("text/csv");

    // creates mock data
    String headerKey = "Content-Disposition";
    String headerValue = String.format("attachment; filename=\"%s\"",
            csvFileName);
    response.setHeader(headerKey, headerValue);


    // write to csv file //

    ICsvBeanWriter csvWriter = new CsvBeanWriter(response.getWriter(),
            CsvPreference.STANDARD_PREFERENCE);

    String[]  user_headings = { "Name", "Age", "Salary" };

    String[] pojoclassPropertyName = { "name", "age", "salary"
            };

    csvWriter.writeHeader(account_headings);

    if(null!=userList && !userList.isEmpty()){
        for (User user : userList) {
            csvWriter.write(user, pojoclassPropertyName);
          }
        }
    csvWriter.close();

    }catch(Exception e) {
        e.printStackTrace();

    }

    return new ResponseEntity<>("successfully export to csv ",HttpStatus.OK);

с этими данными я могу экспортировать данные о зарплате по имени пользователя в CSV-файл.но как я мог передать заголовок для адреса в массиве user_headings и соответствующем массиве pojoclassPropertyName, упомянутом выше, чтобы я мог экспортировать все данные об адресе пользователя и пользователя в мой CSV-файл.пожалуйста, предложите мне с любым рабочим примером.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...