Spring控制器调用了2次

时间:2017-02-13 15:18:54

标签: java spring

我的项目是SpringBoot 1.5.1 gradle。

我需要回复pdf文件" OK"或其他一些状态。

问题是当我向" Postman"代码调用2次。               当我要求" curl"代码调用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级。

我的src / main / resources /

中还有application.properties个文件
server.port: 10500
management.port: 10501
management.address: 127.0.0.1

1 个答案:

答案 0 :(得分:1)

您的代码看起来不错。它没有错。

如果您在DEBUG调用请求时处于POSTMAN模式,则可能会将其混淆并再次发送请求。我猜它取决于一些配置。但是,虽然CURL没有问题,但您必须在POSTMAN中搜索问题,而不是您的代码。