我的项目是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
答案 0 :(得分:1)
您的代码看起来不错。它没有错。
如果您在DEBUG
调用请求时处于POSTMAN
模式,则可能会将其混淆并再次发送请求。我猜它取决于一些配置。但是,虽然CURL
没有问题,但您必须在POSTMAN
中搜索问题,而不是您的代码。