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

Spring Boot WebClient响应无法反序列化为Java POJO问题排查

问题原因

你遇到的UnsupportedMediaTypeException是因为WebClient缺少处理application/json类型响应的反序列化工具。当尝试将响应转换为ConfigServiceResponse实体类时,Spring WebFlux需要对应的HttpMessageReader解析JSON,但你的项目未引入必要的JSON处理依赖——反序列化为String无需额外工具(Spring默认支持),但实体类转换必须依赖Jackson这类库。

解决方案

方案1:添加Jackson核心依赖

在pom.xml中显式添加Jackson的databind依赖(Spring处理JSON的默认库):

<dependencies>
    <!-- 保留原有依赖 -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webflux</artifactId>
        <version>6.1.8</version>
    </dependency>

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
        <version>1.18.30</version>
    </dependency>

    <!-- 添加JSON处理依赖 -->
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.17.2</version> <!-- 版本与Spring 6.1.8兼容,可按需调整 -->
    </dependency>
</dependencies>

方案2:改用Spring Boot WebFlux Starter(推荐,若为Spring Boot项目)

如果是基于Spring Boot开发,直接替换单独的spring-webflux依赖为spring-boot-starter-webflux,它会自动包含Jackson、日志等WebFlux开发所需的所有依赖:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-webflux</artifactId>
        <version>3.2.7</version> <!-- 对应Spring 6.1.8的Boot版本 -->
    </dependency>

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
        <version>1.18.30</version>
    </dependency>
</dependencies>
验证步骤
  1. 更新依赖后重新编译项目
  2. 执行原WebClient请求代码,此时应能正常将JSON响应反序列化为ConfigServiceResponse实体类

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 17:15:19