Вот код для моего JAX-RS ПОЛУЧИТЬ сервисJAX-RS POST не в состоянии вернуть пустой XLSX в качестве типа пантомимы
@GET
@Produces("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
@Path("/xlsReport")
public Response viewXlsReport(@QueryParam("paymentIds")String paymentIds) throws IOException
{
List spaymentIds = Arrays.asList(paymentIds.split(","));
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet s1 = wb.createSheet("Some Details");
File f = new File("Some Details.xslx");
FileOutputStream fos = new FileOutStream(f);
wb.write(fos);
fos.close();
return Response.ok((Object)file).build();
}
И ПОСТ сервис как
@POST
@Produces("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
@Path("/exportReport")
@Consumes(MediaType.APPLICATION_JSON)
public Response viewXlsReport(String ids) throws IOException
{
List<string> sIds = new ArrayList<String>();
StringTokenizer tokens = new StringTokenizer(ids,"&");
// populate sIds , not used in both GET & POST Version
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet s1 = wb.createSheet("Some Details");
File f = new File("Some Details.xslx");
FileOutputStream fos = new FileOutStream(f);
wb.write(fos);
fos.close();
return Response.ok((Object)file).build();
}
Выпуск
- xlsx, генерируемый GET, прекращается,
- , но один из POST дает формат файла ошибок или расширение не является действительным
Очки отметить
- Оба кода точно так же для создания заполняйте XSLX файлу
- Пробовал генерации пустой xlsx файл из java main, тот же код, работает отлично
- Я также проверил временные файлы на tomcat, они подходят как для GET & POST, но когда я загружаю их из IE браузер я получаю Ошибка открытия файла для POST
Только разница @GET & @post и способ paymentIds разобраны, но они не используются, как мы генерируем пустые файлы (на данный момент, будет использовать позже, чтобы ударить DB и получите некоторые данные)
Действительно Не уверен, что не так в коде.