在Spring MVC中,使用@ResponseBody时如何设置mime类型标头

2023-12-25

我有一个返回 JSON 字符串的 Spring MVC 控制器,我想将 mimetype 设置为 application/json。我怎样才能做到这一点?

@RequestMapping(method=RequestMethod.GET, value="foo/bar")
@ResponseBody
public String fooBar(){
    return myService.getJson();
}

业务对象已经可以作为 JSON 字符串使用,因此使用MappingJacksonJsonView不是我的解决方案。@ResponseBody很完美,但是如何设置 mimetype 呢?


Use ResponseEntity代替ResponseBody。这样您就可以访问响应标头并可以设置适当的内容类型。根据春季文档 http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html#mvc-ann-httpentity:

The HttpEntity类似于@RequestBody and @ResponseBody。 除了获取请求的访问权限之外 和响应体,HttpEntity(以及 特定响应子类ResponseEntity)还允许访问 请求和响应标头

代码如下所示:

@RequestMapping(method=RequestMethod.GET, value="/fooBar")
public ResponseEntity<String> fooBar2() {
    String json = "jsonResponse";
    HttpHeaders responseHeaders = new HttpHeaders();
    responseHeaders.setContentType(MediaType.APPLICATION_JSON);
    return new ResponseEntity<String>(json, responseHeaders, HttpStatus.CREATED);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Spring MVC中,使用@ResponseBody时如何设置mime类型标头 的相关文章

随机推荐

  • SSIS - RPC 服务器不可用

    我已安装 SQL Server 实例 并在安装向导中选择 Integration Services 但是 当我以 管理员 身份运行 SQL Server Management Studio 时 我可以在下面看到我的实例 数据库引擎 分析服务
  • 将映像包含在可执行 jar 中

    我一整天都在浏览 Stackoverflow 寻找如何做到这一点 但还没有成功 我正在将我制作的快速游戏打包成可执行 jar 但我没有正确引用图像 我只是引用了文件 background ImageIO read new File wood
  • 将 json 对象存储到 Azure blob 存储

    有没有办法存储 json 对象而不将其转换为流 我可以将其转换为流后上传 但是是否有任何方法可以将对象存储为 something json 而不将其转换为流 我现在应该做什么 const azureStorage require azure
  • OOP在大学里被滥用了吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我两年前开始上大学 从那时起我一直听到 首先设计你的课程 有时我真的会问自己 我的解决方案首先应该是一堆对象吗 有人说你看不到它的好处 因为你的
  • 显示 Android 中按下按钮后经过的时间

    我希望能够在 统计 类中的文本视图或计时器中显示自按下另一个类中的按钮以来经过的时间 实现这个最简单的方法是什么 Thanks 设置变量怎么样 System currentTimeMillis 当你膨胀视图时 在 onDestroy 处从当
  • 更改 LazyRow 上的滚动速度

    查看文档LazyRow我想知道是否可以降低滚动速度 看起来像LazyRow继承自ScrollState但我找不到任何关于如何降低滚动速度的有用信息 LazyRow 没有用于自定义滚动速度的参数 因此您必须手动执行此操作 您可以首先捕获类似于
  • Apollo GraphQL - 将 .graphql 架构导入为 typeDefs

    使用 graphql yoga 您可以通过执行以下操作简单地导入模式 typeDefs src schema graphql apollo server express 是否有类似的方法 如果没有 如何从外部导入 typeDefs grap
  • Android XML:RuntimeException:无法解析索引 6 处的属性

    你好亲爱的stackoverflower 在我的项目中 我使用新的 android 设计库 问题是 有一个运行时异常 我正在尝试创建一个浮动按钮 java lang RuntimeException Failed to resolve at
  • 将一个堆栈推入另一个堆栈

    在 C 中 有没有一种方法可以将一个堆栈压入另一个堆栈 而无需迭代堆栈元素 如果没有 我应该使用更好的数据结构吗 在Java中你可以这样做 stack1 addAll stack2 我希望找到 C 的类似物 0 安全解决方案 扩展方法 pu
  • 替换()与“[<-”?

    我最近偶然发现replace and lt 它们似乎具有相似的功能 例如 lt 我可以做这样的事情 gt x tst lt array 1 6 c 2 3 gt s tst lt array 0 c 2 3 gt s tst 1 2 3 1
  • 无法通过 MavenCli (maven-embedder) 运行 Maven 任务

    我在程序中使用 Maven embedder 3 3 3 以编程方式运行 Maven 目标 每次运行时都会出现以下错误MavenCli doMain method Dmaven multiModuleProjectDirectory系统属性
  • 通过 OKTA SAML 单点注销

    我收到以下 SP 请求和 IDP 响应
  • android css 背景图像未找到

    我正在尝试使用图像纹理作为我的网页主体背景 我的网页显示在 Android 网络视图中 这是我的CSS body font family helvetica font size 12px color 555555 padding 10px
  • Ansible 正则表达式匹配字符串并提取行

    我试图在一行中的 1 个空格之后找到一个字符串 如果存在 则提取完整的行并存储在不同的变量中 我正在使用 ansible 和正则表达式 如果该字符串存在于任何其他位置 则不应匹配它 我尝试使用 regex match 和 select 但出
  • Spring授权和资源在同一台服务器上

    我是 spring 环境的新手 我刚刚学习 oauth2 有没有办法让授权服务器也成为资源服务器 我正在看这个新项目https github com spring projects spring authorization server h
  • 模拟 ViewContext 来测试验证错误消息

    故事是这样的 为了能够将格式良好的 Bootstrap 控件放入我的 MVC 表单中 我正在构建一个HtmlHelper扩展方法 使用单个命令生成以下结构 div class control group Html LabelFor m gt
  • MSI 安装程序失败且未删除以前的安装

    我已经构建了一个我想要部署并经常更新的 MSI 不幸的是 当您安装 MSI 然后尝试安装同一 MSI 的较新版本时 它会失败 并显示类似 已安装此产品的另一个版本 此版本的安装无法继续 的消息 MSI 是使用 Visual Studio 2
  • 从结构句柄的 System::String^ 成员编组到 std::string

    我正在尝试从 System String 编组到 std string 通常这可以通过marshal as
  • 运行 Docker 镜像时无法访问 jarfile

    我是 Spring Boot 微服务和 Docker 的新手 微服务项目中的dockerfile 码头工人构建 泊坞窗图像 运行镜像时出现错误 无法访问jarfile register server jar 干杯 肖恩 您需要指定绝对目标路
  • 在Spring MVC中,使用@ResponseBody时如何设置mime类型标头

    我有一个返回 JSON 字符串的 Spring MVC 控制器 我想将 mimetype 设置为 application json 我怎样才能做到这一点 RequestMapping method RequestMethod GET val