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
相关产品推荐
相关产品推荐

