java - HTTP 状态 406 – Not Acceptable [使用 spring 4.3.x + Java 8 从后端流式传输大量数据]

标签 java spring spring-mvc java-8

我正在使用 Spring mvc 4.3.x、java 8、Tomcat 7

代码:

@Controller
public class StreamRecordsController {

    @RequestMapping(value = "/streamrecords", method = RequestMethod.GET, consumes = MediaType.ALL_VALUE, 
            produces = "application/octet-stream")
    @ResponseBody
    public ResponseEntity<StreamingResponseBody> export() throws FileNotFoundException {
        File file = new File("C:\\Users\\Ankur\\sample.pdf");
        StreamingResponseBody responseBody = outputStream -> {
            Files.copy(file.toPath(), outputStream);
        };
        return ResponseEntity.ok()
                .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=generic_file_name.pdf")
                .contentType(MediaType.APPLICATION_OCTET_STREAM)
                .body(responseBody);
    }
}

异常(exception)情况:

enter image description here

postman 快照

enter image description here 问题:

我在这里错过了什么?

最佳答案

406 Not Acceptable

请求标识的资源只能根据请求中发送的接受 header 生成具有 Not Acceptable 内容特征的响应实体。

尝试在 Controller 方法中使用 Produces 注释:

@Produces({MediaType.APPLICATION_JSON})

关于java - HTTP 状态 406 – Not Acceptable [使用 spring 4.3.x + Java 8 从后端流式传输大量数据],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56005549/

相关文章:

java - 使用外部枚举定义从 JAX-RS 端点生成 Swagger

java - 使用 bouncycaSTLe 进行椭圆曲线加点

java - 我如何使用 TextView 修复 AsyncTask 错误

java - Spring mvc 应用程序中的 404 错误

java - Android:如何从 MTP 读取 Java 应用程序中的文件

java - 配置 Spring Security 以使用自定义 UsernamePasswordAuthenticationFilter

java - 无法使用 Spring PathMatchingResourcePatternResolver 从 Maven 项目中的标准资源目录获取文件列表

java - Camel FTP 定时轮询

java - 简单的 Spring URL 处理?

spring - 如何使用Spring RestTemplate执行设置http请求正文?