Interface CsvDownloadController<DTO extends org.autumnframework.service.api.dtos.Identifiable,T extends org.autumnframework.service.jpa.entities.ApiEntity>
- Type Parameters:
DTO-T-
- All Known Subinterfaces:
AuditedCsvController<DTO,,T> AuditedCsvDownloadController<DTO,,T> CsvController<DTO,,T> FullCsvDownloadController<DTO,T>
- All Known Implementing Classes:
CsvFullRestController,CsvFullStreamingRestController
public interface CsvDownloadController<DTO extends org.autumnframework.service.api.dtos.Identifiable,T extends org.autumnframework.service.jpa.entities.ApiEntity>
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptiondefault voiddownloadDtoCsv(LocalDateTime date, boolean camelCaseHeader, org.springframework.data.domain.Pageable page, jakarta.servlet.http.HttpServletResponse response) default voiddownloadDtoCsv(LocalDateTime start, LocalDateTime end, boolean camelCaseHeader, org.springframework.data.domain.Pageable page, jakarta.servlet.http.HttpServletResponse response) default voiddownloadDtoCsv(org.springframework.data.domain.Pageable page, boolean camelCaseHeader, jakarta.servlet.http.HttpServletResponse response) Construct a csv of all the data the findAllService can supplyOverride this to supply a mapping function other than mapToDTOgetDtoCsvContent(LocalDateTime start, LocalDateTime end, org.springframework.data.domain.Pageable page) Override this to supply the contents for the csv with date selectiongetDtoCsvContent(LocalDateTime date, org.springframework.data.domain.Pageable page) Override this to supply the contents for the csv with date selectiongetDtoCsvContent(org.springframework.data.domain.Pageable page) Override this to supply the contents for the csvdefault StringOverride this to supply your own name for the csv outputdefault StringgetDtoCsvName(List<DTO> records) Override this to skip fields in the csv outputorg.autumnframework.service.jpa.services.FullApiService<T>default voidreturnCsv(List<DTO> records, jakarta.servlet.http.HttpServletResponse response, boolean camelCaseHeader)
-
Field Details
-
log
static final org.slf4j.Logger logLogger
-
-
Method Details
-
getService
org.autumnframework.service.jpa.services.FullApiService<T> getService()- Returns:
-
getMapper
- Returns:
-
downloadDtoCsv
@GetMapping(path="", produces="text/csv") default void downloadDtoCsv(org.springframework.data.domain.Pageable page, @RequestParam(name="camelCaseHeader",defaultValue="true") boolean camelCaseHeader, jakarta.servlet.http.HttpServletResponse response) throws IOException Construct a csv of all the data the findAllService can supply- Parameters:
page-camelCaseHeader-response-- Throws:
IOException
-
downloadDtoCsv
@GetMapping(path="/since/{date}", produces="text/csv") default void downloadDtoCsv(@PathVariable(name="date",required=true) LocalDateTime date, @RequestParam(name="camelCaseHeader",defaultValue="true") boolean camelCaseHeader, org.springframework.data.domain.Pageable page, jakarta.servlet.http.HttpServletResponse response) throws IOException - Parameters:
date-camelCaseHeader-page-response-- Throws:
IOException
-
downloadDtoCsv
@GetMapping(path="/between/{start}/{end}", produces="text/csv") default void downloadDtoCsv(@PathVariable(name="start",required=true) LocalDateTime start, @PathVariable(name="end",required=true) LocalDateTime end, @RequestParam(name="camelCaseHeader",defaultValue="true") boolean camelCaseHeader, org.springframework.data.domain.Pageable page, jakarta.servlet.http.HttpServletResponse response) throws IOException - Parameters:
start-end-camelCaseHeader-page-response-- Throws:
IOException
-
returnCsv
default void returnCsv(List<DTO> records, jakarta.servlet.http.HttpServletResponse response, boolean camelCaseHeader) throws IOException - Parameters:
records-response-camelCaseHeader-- Throws:
IOException
-
getDtoCsvName
Override this to supply your own name for the csv output- Returns:
-
getDtoExcludeFieldNames
Override this to skip fields in the csv output- Returns:
-
getDtoCsvContent
Override this to supply the contents for the csv- Parameters:
page-- Returns:
-
getDtoCsvContent
default List<DTO> getDtoCsvContent(LocalDateTime date, org.springframework.data.domain.Pageable page) Override this to supply the contents for the csv with date selection- Parameters:
date-page-- Returns:
-
getDtoCsvContent
default List<DTO> getDtoCsvContent(LocalDateTime start, LocalDateTime end, org.springframework.data.domain.Pageable page) Override this to supply the contents for the csv with date selection- Parameters:
start-end-page-- Returns:
-
getCsvMappingFunction
Override this to supply a mapping function other than mapToDTO- Returns:
-
getDtoCsvName
- Parameters:
records-- Returns:
-