首先是服务端:
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();
}
}