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

JavaFX+SpringBoot应用调用Web端Rest API获取字符串返回值的实现方法

在JavaFX应用中调用Spring Boot Web接口并返回JSON字符串

没问题,我来帮你调整代码实现这个需求。核心思路是直接让RestTemplate返回原始的JSON字符串,而不是自动转换成Customers对象,同时要注意你的请求类型(从URL路径看这是个GET接口,不是POST)。

调整后的完整代码

import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;

public String getCustomerData() {
    // Web应用的REST接口URL
    String url = "http://192.168.012.106:8080/restrole/customer/get/1?access_token=e91ad118-141a6026b954";
    
    // 构造请求头
    MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
    headers.add("HeaderName", "value");
    headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE);
    
    RestTemplate restTemplate = new RestTemplate();
    // MappingJackson2HttpMessageConverter是RestTemplate的默认转换器,可按需保留或移除
    // restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
    
    try {
        // GET请求不需要请求体,构造仅包含请求头的HttpEntity
        HttpEntity<Void> request = new HttpEntity<>(headers);
        
        // 发送GET请求,直接获取String类型的JSON响应
        String jsonResponse = restTemplate.getForObject(url, String.class, request);
        
        // 返回获取到的JSON字符串
        return jsonResponse;
    } catch (RestClientException e) {
        // 处理请求异常(如网络错误、接口返回错误码等)
        e.printStackTrace();
        return null; // 也可返回自定义错误提示字符串
    }
}

关键调整点说明

  • 修正请求方式:你的URL路径是/customer/get/1,属于典型的GET查询接口,所以改用getForObject而非postForObject,避免请求方式不匹配导致的接口报错。
  • 直接返回字符串:将restTemplate的返回类型指定为String.class,这样就跳过了JSON到实体类的自动转换,直接拿到原始的JSON字符串。
  • 移除冗余请求体:GET请求通常不需要携带请求体,所以构造HttpEntity<Void>只传递请求头即可。如果你的接口确实要求POST方式,再改回postForObject并调整请求体内容。
  • 添加异常捕获:通过RestClientException捕获请求过程中可能出现的网络问题、接口错误等,避免程序因未处理异常直接崩溃。

额外提示

如果后续需要对JSON字符串做解析,也可以拿到字符串后用Jackson等工具再转换成Customers实体类,但按照当前需求,直接返回字符串就完全满足要求了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:08:12