Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.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 SpringMVC复制是否接受请求头到成功响应的响应头的内容类型_Java_Spring Boot_Spring Mvc - Fatal编程技术网

Java SpringMVC复制是否接受请求头到成功响应的响应头的内容类型

Java SpringMVC复制是否接受请求头到成功响应的响应头的内容类型,java,spring-boot,spring-mvc,Java,Spring Boot,Spring Mvc,我在尝试SpringMVC时遇到了一个奇怪的行为。对于具有不同Accept标头的成功请求,content type标头反映Accept标头的值 控制器用于测试目的:- @RestController public class HelloWorldControllor { @GetMapping(value = "/listNames") public List<String> getNames(){ return Arrays.a

我在尝试SpringMVC时遇到了一个奇怪的行为。对于具有不同Accept标头的成功请求,content type标头反映Accept标头的值

控制器用于测试目的:-

@RestController
public class HelloWorldControllor {

    @GetMapping(value = "/listNames")
    public List<String> getNames(){
        return Arrays.asList("Jesse","James");
    }
}
@RestController
公共类HelloWorldController{
@GetMapping(value=“/listNames”)
公共列表getNames(){
返回数组。asList(“Jesse”、“James”);
}
}
对于以下请求,响应对象将被编组为json,但内容类型头应该是application/json,对吗

  • 请求-GET/listNames HTTP/1.1 接受应用程序/json 回应-HTTP/1.1200 内容类型应用程序/json

  • 请求-GET/listNames HTTP/1.1 接受application/vnd.api+json 回应-HTTP/1.1200 内容类型应用程序/vnd.api+json


  • 对于无效的Accept头,如text/css,我得到一个406 Not Acceptable,没有内容类型,这很好

    我的答案应该是@Kayaman指出的注释。我相信,如果您不指定Spring将返回内容类型,无论它与requestaccept头匹配什么。我想你可以通过在注释中设置products来证明这一点。正如您所说,这使得端点不接受“application/vnd.api+json”。我确实试图找到记录在案的行为,但我找不到一个具体的答案:我找到了很多解毒的证据。也许其他人知道答案在哪里?