Java 使用RESTWebService下载文件
我使用RESTWeb服务(GET)方法下载了一个文件。它工作得非常好。 但是我想知道,是否有任何方法可以使用POST方法实现下载功能,以便我可以传递一些输入值。 对于GET方法,我在URL中传递查询参数。对于POST方法,我希望以JSON格式传递值。因此,请您建议我,我如何实现这一点Java 使用RESTWebService下载文件,java,web-services,rest,post,Java,Web Services,Rest,Post,我使用RESTWeb服务(GET)方法下载了一个文件。它工作得非常好。 但是我想知道,是否有任何方法可以使用POST方法实现下载功能,以便我可以传递一些输入值。 对于GET方法,我在URL中传递查询参数。对于POST方法,我希望以JSON格式传递值。因此,请您建议我,我如何实现这一点 @GET @Path("/downloaddocument") @Produces("application/pdf") public Response downloadDocument(@QueryParam("
@GET
@Path("/downloaddocument")
@Produces("application/pdf")
public Response downloadDocument(@QueryParam("Regno") String Regno) {
//Code
}
我不确定如何以JSON格式传递值。下面是使用HTML表单输入的示例:
@POST
@Consumes("application/x-www-form-urlencoded")
@Produces("application/pdf")
@Path("/downloaddocument")
public Response downloadDocument(@FormParam("filename") String filename) {
// Return your PDF document as a Responce here
}
更新:要将输入作为JSON传递,需要使用
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces("application/pdf")
@Path("/downloaddocument")
public Response downloadDocument(MyObject jsonObject) {
String name = jsonObject.getName();
// Return you PDF document as a response here
}
其中jsonObject是一个对象,它为JSON输入建模
public class MyObject {
String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
假设您的JSON文件具有以下结构
{
"name" : "myfile.pdf"
}
你的问题能更具体一点吗?你试过什么?您的工作成果是什么?感谢您的回复…是的,以json格式{“regnum”:“123”}传递输入。