Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 尝试以文本/纯文本形式发送请求正文时获取415不支持的媒体类型_Spring_Jsr - Fatal编程技术网

Spring 尝试以文本/纯文本形式发送请求正文时获取415不支持的媒体类型

Spring 尝试以文本/纯文本形式发送请求正文时获取415不支持的媒体类型,spring,jsr,Spring,Jsr,我有一个API,它接受json和文本作为请求体 @Path("submitObjects") @Produces({MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN}) @Consumes({MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN}) public List<APIResult> submitMultiObjects(@DefaultValue("false") @QueryPa

我有一个API,它接受json和文本作为请求体

@Path("submitObjects")
@Produces({MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN})
@Consumes({MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN})
public List<APIResult> submitMultiObjects(@DefaultValue("false") @QueryParam(("suppressWarnings"))Boolean suppressWarnings,List<MyObject> objects) {

// API logic

}

class MyObject{
   private String name;
   private String description;
   // and getters and setters
}
上述请求机构成功

name=name1
description=description1
name=name2
description=description2
但当我以纯文本形式传递请求正文时,它将失败,错误代码为415-不支持的媒体类型

name=name1
description=description1
上述请求正文失败

name=name1
description=description1
name=name2
description=description2
上述请求正文失败

name=name1
description=description1
name=name2
description=description2
我想知道如何以纯文本格式传递对象列表。

对于下面的API,我使用MyObject而不是List

@Path("submitObject")
@Produces({MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN})
@Consumes({MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN})
public List<APIResult> submitObject(@DefaultValue("false") @QueryParam(("suppressWarnings"))Boolean suppressWarnings,MyObject object) {

// API logic

}

上述请求正文工作正常。

如何调用该函数?它是rest api。我用上面提到的请求主体向url localhost:8000/submitObjects发出了POST请求。我的服务器正在端口8000上运行。作为内容类型标头发送什么?我使用了-'content-type:text/plain'curl--location--request-POST'localhost:8000/submitObjects'--header'content-type:text/plain'--data-raw'name=name1 description=description1'