Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Spring MVC中更改返回的内容类型_Java_Spring_Spring Mvc - Fatal编程技术网

Java 在Spring MVC中更改返回的内容类型

Java 在Spring MVC中更改返回的内容类型,java,spring,spring-mvc,Java,Spring,Spring Mvc,我有一个带有自定义扩展名的zip文件,需要以内容类型application/zip的形式返回,但出于某种原因,无论我做什么,它总是以text/html的形式返回 在本文中配置内容协商管理器似乎可以做到这一点,但对我来说似乎不起作用。如果我通过相同的控制器/方法请求一个.zip文件,它将非常有效 为了实现我的目标,我尝试配置了几个不同的属性,但下面是我的application-context.xml中的最新内容 <bean id="contentNegotiationManager"

我有一个带有自定义扩展名的zip文件,需要以内容类型application/zip的形式返回,但出于某种原因,无论我做什么,它总是以text/html的形式返回

在本文中配置内容协商管理器似乎可以做到这一点,但对我来说似乎不起作用。如果我通过相同的控制器/方法请求一个.zip文件,它将非常有效

为了实现我的目标,我尝试配置了几个不同的属性,但下面是我的application-context.xml中的最新内容

<bean id="contentNegotiationManager"
    class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
    <property name="favorPathExtension" value="true" />
    <property name="ignoreAcceptHeader" value="true" />
    <property name="defaultContentType" value="application/zip" />
    <property name="mediaTypes">
        <map>
            <entry key="xyz" value="application/zip" />
        </map>
    </property>
</bean>

看来我把问题复杂化了。我只需要在一个控制器方法上使用这个功能,所以只需将products=application/zip添加到我的RequestMapping就可以了

@RequestMapping(
        value = "/download/{fileName:.+}",
        method = RequestMethod.GET,
        produces = "application/zip")
@ResponseBody
public FileSystemResource download(@PathVariable("fileName") String fileName) {
...
}
@RequestMapping(
        value = "/download/{fileName:.+}",
        method = RequestMethod.GET,
        produces = "application/zip")
@ResponseBody
public FileSystemResource download(@PathVariable("fileName") String fileName) {
...
}