编程语言
首页 > 编程语言> > java-如何在spring-web servlet中接受text / csv作为内容类型?

java-如何在spring-web servlet中接受text / csv作为内容类型?

作者:互联网

我想创建一个生成文本/ csv内容的简单Web服务.但我不能要求它:

@RestController
public class MyServlet {
    @PostMapping(produces = {"text/csv", "application/json"})
    public Object post() {
        //...
    }
}

spring.mvc.contentnegotiation.media-types.csv=text/csv

当我发送Content-Type:text / csv作为http标头的帖子请求时,出现以下错误:

415:不支持内容类型“文本/ csv”

这是我的配置:

@Configuration
public class ContentNegotiationConfiguration implements WebMvcConfigurer {
    @Override
    public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
        configurer
                .favorParameter(true) //favor &format=csv
                .defaultContentType(MediaType.APPLICATION_JSON)
                .parameterName(format);
                //.mediaType("csv", new MediaType("text", "csv")) //also tried without success
    }
}

解决方法:

如果您(客户端)期望csv内容,则客户端应将text / csv作为Accept标头而不是Content-Type传递.

标签:spring-rest,spring-web,spring,java
来源: https://codeday.me/bug/20191108/2009412.html