javapostapi接受多部分/表单数据返回400响应

c2e8gylq  于 2021-06-29  发布在  Java
关注(0)|答案(0)|浏览(227)

我有一个javaapi,它应该接受一个文件列表,然后通过电子邮件发送给用户。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中的数据,而不是作为字符串,因此这是不够的

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题