@西蒙·E
我不明白:您使用的是哪种 Java REST 实现?
所以,我只是给你一个使用 JAX-RS(Jersey 实现)的例子
服务器部分(一些 REST 类的方法):
@POST
@Path("/upload")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.TEXT_PLAIN)
public static Response upload(
@FormParam("name") String name,
@FormParam("content") String content)
throws Exception {
// NOTE: you get your content as String
// (do something here)
return Response.ok().build();
}
客户端部分(一些 JUnit 测试的方法):
@Test
public void uploadFile()
throws Exception {
String address = "http://0.0.0.0:8000/r/upload";
WebResource r = Client.create().resource(address);
Form form = new Form();
form.add("name", "test");
form.add("content", "SOME CONTENT GOES HERE");
String s = r.post(String.class, form);
System.out.println(s);
}
就是这样 !!!
如果您在导入时遇到问题:
服务器需要 javax.ws.rs.* 和 javax.ws.rs.core.*
客户端需要 com.sun.jersey.api.client.* 和 com.sun.jersey.api.representation .*
无论如何,我都会建议您使用 JAX-RS 而不是替代实现,因为 JAX-RS 将成为即将到来的Java EE 6的一部分