REST使用Java传递参数

时间:2012-03-28 11:31:01

标签: java rest parameters

我已经使用一些webmethods构建了一个REST Web服务。 但是我没有把它传递给这些方法。

@GET
@Path("hello")
@Produces(MediaType.TEXT_PLAIN)
public String hello(String firstName, String lastName){

    return "Hello " + firstname + " " + lastname
}

如何调用该方法以及如何传递参数firstname和lastname? 我试过这样的事情:

ClientConfig config = new DefaultClientConfig();

Client client = Client.create(config);

WebResource service = client.resource(getBaseURI());

ClientResponse response = service.path("hello")
.accept(MediaType.TEXT_PLAIN).put(ClientResponse.class);

但是我在哪里添加参数?

感谢您的帮助, 最好的祝福, 克里斯

3 个答案:

答案 0 :(得分:9)

如果您使用SpringMVC进行REST api开发,可以使用

@RequestParam("PARAMETER_NAME");

如果是运动衫,你可以使用

@QueryParam("PARAMETER_NAME");

方法看起来像这样

public String hello(@RequestParam("firstName")String firstName, @RequestParam("lastName")String lastName){

return "Hello " + firstname + " " + lastname

}

答案 1 :(得分:6)

This教程应该有所帮助。要包含参数,您需要使用@PathParam命令,如this之前的SO帖子所示。

答案 2 :(得分:2)

这会对你有所帮助

ClientResponse response = resource.queryParams(formData).post(ClientResponse.class, formData);

其中formData是

MultivaluedMap formData = new MultivaluedMapImpl();


formData.add("Key","Value");
formData.add("Key","Value");
...
...
...
formData.add("Key","Value");