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

Confluent REST Proxy向Topic发送POST请求返回HTTP 415 Unsupported Media Type错误

解决Confluent REST Proxy生产数据时415 Unsupported Media Type错误
  • 检查REST Proxy支持的API版本
    先通过GET请求确认服务支持的API版本:

    curl http://localhost:8082/api/versions
    

    根据返回的版本号,使用对应格式的Content-Type头,比如v2版本用application/vnd.kafka.json.v2+json,v3版本用application/vnd.kafka.json.v3+json,确保版本完全匹配。

  • 修正curl请求的语法与格式
    避免换行导致的shell解析问题,将请求体合并为一行,同时确保Content-Type头拼写完全正确:

    curl -v -X POST \
      -H "Content-Type: application/vnd.kafka.json.v3+json" \
      -H "Accept: application/vnd.kafka.json.v3+json" \
      --data '{"records":[{"key":"jsmith","value":"alarm clock"},{"key":"htanaka","value":"batteries"},{"key":"awalther","value":"bookshelves"}]}' \
      "http://localhost:8082/topics/test-topic"
    
  • 验证REST Proxy与Kafka的连接状态
    先测试基础的topic查询请求,确认服务本身正常:

    curl http://localhost:8082/topics/test-topic
    

    如果该请求返回topic的元数据,说明REST Proxy与Kafka集群连接正常,问题聚焦在生产请求的格式或配置上。

  • 检查REST Proxy的序列化配置
    查看REST Proxy的配置文件(如kafka-rest.properties),确保默认序列化器配置符合JSON格式要求:

    kafka.rest.default.key.serializer=org.apache.kafka.common.serialization.StringSerializer
    kafka.rest.default.value.serializer=org.apache.kafka.common.serialization.StringSerializer
    

    若需要结构化JSON序列化,可改用io.confluent.kafka.serializers.KafkaJsonSerializer,并重启REST Proxy服务。

  • 排查请求头的细节问题
    确保Content-Type头无多余空格、大小写错误,比如不要写成Application/...或application/vnd.kafka.json.v3+json (末尾有空格),这些细微错误都会导致媒体类型识别失败。

内容的提问来源于stack exchange,提问作者Sam S.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 19:33:04