gpt4 book ai didi

java - 使用 Jax-Rs 上的注释 Post 发送和不发送文件

转载 作者:行者123 更新时间:2023-12-01 11:13:18 25 4
gpt4 key购买 nike

我正在开发 Jax-Rs 服务,我必须创建带有或不带有文件的内容。

 @POST
@Path("makesomething")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.TEXT_PLAIN)
public String makesomething(@FormDataParam("file") InputStream uploadedInputStream, @FormDataParam("file") FormDataContentDisposition fileDetail, @FormDataParam("variable") String variable, @Context HttpServletRequest request) throws IOException {
//make something
}

如果我不发送文件,我会收到一条错误消息,指出有必要发送文件。如何在不发送文件的情况下完成此操作?

最佳答案

安德烈是对的,这样的东西应该可以正常工作(假设当您不上传文件时,您只是发布表单数据):

@POST
@Path("makesomething")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.TEXT_PLAIN)
public String makesomething(@FormDataParam("file") InputStream uploadedInputStream, @FormDataParam("file") FormDataContentDisposition fileDetail, @FormDataParam("variable") String variable, @Context HttpServletRequest request) throws IOException {
makeSomethingImpl(uploadedInputStream, fileDetail, variable, request);
}

@POST
@Path("makesomething")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.TEXT_PLAIN)
public String makesomething(@FormDataParam("variable") String variable, @Context HttpServletRequest request) throws IOException {
makeSomethingImpl(null, null, variable, request);
}

private String makeSomethingImpl(final InputStream uploadedInputStream, final FormDataContentDisposition fileDetail, final String variable, final HttpServletRequest request) {
// make something
}

关于java - 使用 Jax-Rs 上的注释 Post 发送和不发送文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32124676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com