首先是服务端:
1、增加服务类
package com.neohope.jessery.test; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; /** * Created by Hansen */ @Path("neotest") @Produces(MediaType.APPLICATION_JSON) public class NeoTest { @GET @Path("/Add") public String Add(@QueryParam("a") int a,@QueryParam("b") int b) { return "{\"c\":" + (a+b) + "}"; } @GET @Path("/SayHiTo") public String sayHiTo(@QueryParam("name") String name) { return "{\"msg\":\"hi " + name + "\"}"; } }
2、在web.xml里增加配置
<servlet> <servlet-name>Jersey Web Application</servlet-name> <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> <init-param> <param-name>jersey.config.server.provider.packages</param-name> <param-value>com.neohope.jessery.test</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>Jersey Web Application</servlet-name> <url-pattern>/Rest/*</url-pattern> </servlet-mapping>
3、然后是客户端
package com.neohope.jessery.test; import org.glassfish.jersey.client.ClientConfig; import javax.ws.rs.client.Client; import javax.ws.rs.client.ClientBuilder; import javax.ws.rs.client.WebTarget; import javax.ws.rs.core.Response; /** * Created by Hansen */ public class ClientTest { public static void main(String[] args) { ClientConfig clientConfig = new ClientConfig(); Client client = ClientBuilder.newClient(clientConfig); WebTarget target = client.target("http://localhost:8080/Rest/neotest/" + "Add"); Response response = target.queryParam("a", 1).queryParam("b", 2).request().get(); System.out.println(response.getStatus()); System.out.println(response.readEntity(String.class)); response.close(); WebTarget target1 = client.target("http://localhost:8080/Rest/neotest/" + "SayHiTo"); Response response1 = target1.queryParam("name", "neohope").request().get(); System.out.println(response1.getStatus()); System.out.println(response1.readEntity(String.class)); response1.close(); } }