javascript - 接受 multipart/form-data 的 JAVA POST API 返回 400 响应
问题描述
我有一个 Java API,它应该接受文件列表,然后通过电子邮件将它们发送给用户。API如下:
@POST
@Path("/echoapi")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.APPLICATION_JSON)
public Response getNotificationByUser(@FormDataParam("name") String name, @FormDataParam("email") String email, @FormDataParam("file") InputStream file) {
try {
List<InputStream> attachments = new ArrayList<>();
attachments.add(file);
EmailUtils.sendEmail(name, email, attachments);
Gson gson = new Gson();
String json = gson.toJson("");
return Response.ok().entity(json).build();
}
catch(Exception e) {
return Response.status(HttpStatus.SC_INTERNAL_SERVER_ERROR).build();
}
}
使用 Postman(出于测试目的)向此 API 发送以下请求时,我收到 400 响应
如果我将方法的签名更改为:
public Response getNotificationByUser(String requestBody)
一切正常!但是,我需要访问 API 中的数据,而不是作为字符串访问,所以这还不够
解决方案
推荐阅读
- spring-boot - 如何在 GraphQL-SPQR 中设置标头变量
- java - java在达到最大数量时如何停止
- gradle - 如何使用单个变更集 liquibase 动态创建模式
- javascript - 作为多个已解决的承诺的结果,如何创建一个列表并创建填充列表的变量?
- java - Java 客户端-服务器编程:客户端之间的共享内存
- java - Windows 10 上的 Sonarqube 无法启动
- python - Python Pandas:Dataframe.loc[] vs dataframe[] 行为差异?
- arrays - SnapLogic - 在 Mapper 中更改数组元素
- javascript - 配置VueJS页面(vue.config.js中的多个页面)MPA
- c# - AJAX.BeginForm - OnFailure 未收到 JSON 响应