2017-02-13 7 views
0

У меня есть проект с SpringBoot 1.5.1 gradle.Контроллер пружины вызывается 2 раза

Мне нужен ответ с файлом pdf с «ОК» или некоторыми другими статусами.

Так что проблема в том, когда я запрашиваю код «Почтальон», вызывает 2 раза. , когда я запрашиваю код «curl», вызывает 1 раз.

Очевидно, я хочу вызвать его 1 раз.

У меня есть класс приложения с:

@SpringBootApplication 
public class Application { 
    public static void main(String[] args) { 
    SpringApplication.run(Application.class, args); 
} 
} 

И мой контроллер с:

@RequestMapping(value = "/report/{reportTemplate:.+}", method = POST) 
@ResponseBody 
public ResponseEntity createReport(HttpEntity<List<ParametersEntity>> httpEntity, 
            @PathVariable String reportTemplate) throws IOException { 

byte[] data = ...;// my data 
return ResponseEntity 
       .ok() 
       .contentLength(data.length) 
       .contentType(MediaType.APPLICATION_PDF) 
       .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=output.pdf") 
       .contentType(MediaType.parseMediaType(MediaType.APPLICATION_PDF_VALUE)) 
       .body(data); 

    } 

createReport в @RestController классе.

Также у меня есть application.properties файл в моем SRC/основные/ресурсы/

server.port: 10500 
management.port: 10501 
management.address: 127.0.0.1 
+0

Какая у вас почтальонская версия? Кажется, это известная проблема на его стороне. –

ответ

1

Ваш код выглядит нормально. Ничего плохого в этом нет.

Если вы находитесь в режиме DEBUG при вызове запроса от POSTMAN, это может смутить его и отправить запрос во второй раз. Я полагаю, это зависит от некоторых конфигураций. Но в то время как у вас нет проблем с CURL, вы должны искать решение в POSTMAN, вероятно, не свой код.

+0

PS: Я бы оставил это как комментарий, но у меня нет достаточной репутации, чтобы сделать это. – Leonardo

Смежные вопросы