You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Spring Rest Controller仅获取JSON格式的响应体?

如何从Spring Rest Controller响应中提取纯JSON体

你的后端Spring Controller配置其实没毛病——你已经添加了@ResponseBody注解,还通过produces = "application/json"明确指定了响应格式,所以后端确实在返回标准的JSON数据。你现在看到的Response {_body: "{id: 001}", ...}是前端HTTP请求库返回的完整响应包装对象,里面包含了状态码、响应头和响应体等信息,要拿到纯JSON体,只需要根据你用的前端工具做对应的提取操作:

常见前端工具的提取方法

1. 原生Fetch API

Fetch返回的是一个Response对象,你需要调用它的json()方法来解析并提取响应体:

fetch('/userDetails')
  .then(response => {
    // 先检查请求是否成功
    if (!response.ok) {
      throw new Error(`请求失败,状态码:${response.status}`);
    }
    return response.json(); // 解析JSON响应体
  })
  .then(userInfo => {
    console.log('拿到的纯JSON数据:', userInfo); // 这里就是{id: "001"}这样的JSON对象
  })
  .catch(error => {
    console.error('请求出错:', error);
  });

2. Axios

Axios会自动帮你解析JSON响应,直接访问response.data就能拿到纯JSON体:

axios.get('/userDetails')
  .then(response => {
    console.log('拿到的纯JSON数据:', response.data);
  })
  .catch(error => {
    console.error('请求出错:', error);
  });

3. jQuery Ajax

只要在请求配置里指定dataType: 'json',成功回调里就能直接拿到解析后的JSON对象:

$.ajax({
  url: '/userDetails',
  method: 'GET',
  dataType: 'json',
  success: function(userInfo) {
    console.log('拿到的纯JSON数据:', userInfo);
  },
  error: function(xhr, status, error) {
    console.error('请求出错:', error);
  }
});

额外说明

如果你用Postman或者curl这类工具测试接口,会直接看到纯JSON响应——因为这些工具会自动帮你提取并展示响应体。而前端代码里的HTTP库会把整个响应(包括状态、头、体)包装成对象,所以需要手动提取解析。

内容的提问来源于stack exchange,提问作者Steeve

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:17:30