HttpServletResponse 设置 Header application/script 变成 application/json
时间: 2023-07-26 21:04:41 浏览: 114
HttpServletResponse乱码问题_动力节点Java学院整理
您好!如果在设置 HttpServletResponse 的 Header 时,将 Content-Type 的值设置为 application/script,但实际上返回的 Content-Type 却变成了 application/json,可能是因为 SpringBoot 默认使用了 Jackson 库将返回值序列化成 JSON 格式。
要解决这个问题,可以尝试以下两种方法:
1. 在 Controller 中设置返回值类型为 String,手动设置 Content-Type 的值为 application/script。例如:
```java
@GetMapping("/getScript")
public void getScript(HttpServletResponse response) throws Exception {
String script = // 生成 js 脚本的内容
response.setContentType("application/script");
response.getWriter().write(script);
}
```
在上述代码中,将返回值类型设置为 void,手动设置 Content-Type 的值为 application/script,并使用 HttpServletResponse 的 getWriter() 方法将生成的 js 脚本内容直接写入响应体中。
2. 在配置文件中关闭 Jackson 库的自动序列化功能。例如:
```properties
spring.jackson.enabled=false
```
在上述配置中,将 spring.jackson.enabled 配置项的值设置为 false,可以关闭 Jackson 库的自动序列化功能,从而避免返回值被序列化成 JSON 格式。
希望能帮到您!
阅读全文