当前位置: 首页 > 知识库问答 >
问题:

415内容-type=mulitpart/form-data不支持的MediaType

金和雅
2023-03-14

我有一个REST API,它只@product(mediatype.application_json),而不@消费任何媒体类型。

即使当我通过创建一个HTTP请求来使用这个REST API,其中MediaType被设置为multipart/form-data时,我仍然在重复:

HTTP/1.1 415不支持的媒体类型

@POST
@Path("/somePath")
@Produces(MediaType.APPLICATION_JSON)
public JSONObject addDocument(AddDocBean addDocBean) {
...

“现在,我为什么要将内容类型作为多部分/表单数据发送?”

这是因为我正在使用该服务将文件上传到服务器,并且该文件将以BASE64格式发送。现在文件的大小大约是20MB,我建议最好以多部分/表单数据的形式发送

但是HTTP服务器无法处理此请求,返回错误415不支持的MediaType作为响应。

正在使用的REST客户端:SoapUI 5.4.0

可能会出什么问题?

共有1个答案

翁翰
2023-03-14
  • @服务器端的products与客户端的accept:Header相对应。
  • @consume on Server端对应于media-type:Header on Client端。

您显示的API片段没有指定任何显式的@consume注释,因此默认为plain/text。因此,当您在请求中发送Application/Multipart标头时,您得到的媒体类型不受支持

您需要在API上添加一个与此类似的显式@consume(“mediatype.multipart_form_data”)//以使addDocument()方法支持发送的表单数据。

 类似资料: