Java 发送@RequestPart列表<;字符串>;因为Post请求正文给出了内容类型错误
我正在尝试开发一个POST API请求,它将请求作为表单数据接受,其中键的值是字符串列表。 当我通过邮递员发送请求时,它会给我错误消息:“内容类型‘应用程序/八位字节流’不受支持” 我尝试使用CURL测试API,但当我使用Postman传递它时,它给出了错误 我的API代码:Java 发送@RequestPart列表<;字符串>;因为Post请求正文给出了内容类型错误,java,rest,spring-boot,arraylist,postman,Java,Rest,Spring Boot,Arraylist,Postman,我正在尝试开发一个POST API请求,它将请求作为表单数据接受,其中键的值是字符串列表。 当我通过邮递员发送请求时,它会给我错误消息:“内容类型‘应用程序/八位字节流’不受支持” 我尝试使用CURL测试API,但当我使用Postman传递它时,它给出了错误 我的API代码: @PostMapping(value= "/column", produces = "application/json", consumes = {"multipart/form-data"}) @Resp
@PostMapping(value= "/column", produces = "application/json", consumes = {"multipart/form-data"})
@ResponseBody
public String searchEntIdColumn(
@RequestPart(value = "ENT_ID") String entId,
@ApiParam("Indices to Search; Search Default Indices or Specify a List ")
@Nullable @RequestPart(value = "SearchIndices") List<String> searchIndices) {
LOGGER.debug("SearchController: searchEntIdColumn() :: Search Term is : ENT_ID = {} "
+ "on searchIndices : {} ", entId, searchIndices);
return responseBuilderService.searchColumn(searchIndices, entId);
}
但当我将SearchIndexes列表作为null/empty传递时,它会成功运行,但当我传递列表/字符串时,它会失败
您应该将请求中的内容类型头设置为“多部分/表单数据”。因为错误明确表示内容类型不同。您应该将请求中的内容类型头设置为“多部分/表单数据”。因为错误明确表示内容类型不同。我们使用springboot 2.1.x和@PostMapping(value=“/v1/rest,生成带有@RequestBody PreviewV1 previewRequest的=APPLICATION_JSON_VALUE),它似乎在没有指定consumes@KalpeshSoni如果使用RequestBody,如何引用表单RequestBody中的键值?你能展示一些示例代码吗,我不想为我的请求主体使用类据我所知@RequestPart用于上传文件,如果你发布的是json,本质上它是java中的一个对象,为什么你不想要一个类?@KalpeshSoni,是的,你说的对,我将它改为请求主体而不是请求部分,并完成了它。感谢您的支持,我们使用springboot 2.1.x和@PostMapping(value=“/v1/rest”,products=APPLICATION\u JSON\u value)和@RequestBody PreviewV1 previewRequest,它似乎可以在不指定consumes@KalpeshSoni如果使用RequestBody,如何引用表单RequestBody中的键值?你能展示一些示例代码吗,我不想为我的请求主体使用类据我所知@RequestPart用于上传文件,如果你发布的是json,本质上它是java中的一个对象,为什么你不想要一个类?@KalpeshSoni,是的,你说的对,我将它改为请求主体而不是请求部分,并完成了它。谢谢你,我放弃了,但还是一样的错误。当我为SearchIndex传递一个空列表时,它给了我数据。你能不能也发布标题的图像选项卡?我厌倦了给出,但仍然是相同的错误。当我为SearchIndex传递一个空列表时,它会给我数据。你能不能也发布标题的图像选项卡?
{
"timestamp": "2019-08-29T16:49:33.469+0000",
"status": 415,
"error": "Unsupported Media Type",
"message": "Content type 'application/octet-stream' not supported",
"path": "/search/column"
}