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

Quarkus POST接口报Unsupported Media Type错误求助

解决POST接口/add的Unsupported Media Type错误

以下是针对该问题的具体排查与解决步骤:

1. 核对Postman请求配置

  • 确认请求方法为POST,路径准确指向/add
  • 在Headers标签中,根据接口接收的参数格式设置Content-Type:若接口接收JSON,设为application/json;若接收表单数据,设为application/x-www-form-urlencoded或multipart/form-data
  • 在Body标签中,选择raw并对应选中JSON(或表单)格式,输入符合结构的请求体示例:
    {
      "shortUrl": "abc123",
      "originalUrl": "https://example.com/long-resource-url"
    }
    

2. 检查UrlEntity实体类有效性

  • 必须包含无参构造方法(Spring MVC自动绑定参数依赖此构造)
  • 所有字段需配备对应的getter和setter方法
  • 字段名称需与请求体中的键完全匹配,若使用@JsonProperty注解,需保证注解值与请求键一致
    示例正确的UrlEntity结构:
public class UrlEntity {
    private String shortUrl;
    private String originalUrl;

    // 无参构造
    public UrlEntity() {}

    // 全参构造(可选)
    public UrlEntity(String shortUrl, String originalUrl) {
        this.shortUrl = shortUrl;
        this.originalUrl = originalUrl;
    }

    // getter方法
    public String getShortUrl() {
        return shortUrl;
    }

    public String getOriginalUrl() {
        return originalUrl;
    }

    // setter方法
    public void setShortUrl(String shortUrl) {
        this.shortUrl = shortUrl;
    }

    public void setOriginalUrl(String originalUrl) {
        this.originalUrl = originalUrl;
    }
}

3. 验证接口注解配置

  • 确保@PostMapping注解配置正确,若明确接收JSON,可指定consumes属性:
    @PostMapping(value = "/add", consumes = MediaType.APPLICATION_JSON_VALUE)
    public ResponseEntity<String> addShortUrl(@RequestBody UrlEntity urlEntity) {
        // 业务逻辑实现
        return ResponseEntity.ok("短链接映射添加成功");
    }
    
  • 确认项目已引入JSON处理依赖:Spring Boot项目的spring-boot-starter-web默认包含Jackson依赖;普通Spring项目需手动引入jackson-databind依赖

4. 其他排查方向

  • 检查请求体格式是否合法,比如JSON的引号、逗号是否闭合,无语法错误
  • 确认项目中的拦截器、过滤器未修改或丢弃请求头中的Content-Type信息

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 08:32:09