package org.jersey2.jsonp.example;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import javax.json.Json;
import javax.json.JsonObject;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
public class StudentRestServiceClient {
public static void getAll(){
Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://localhost:8080/v1/api").path("students/all");
Response response = target.request().accept(MediaType.APPLICATION_JSON).get();
System.out.println(response.getStatus());
System.out.println(response.readEntity(String.class));
}
public static void getStudent(){
Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://localhost:8080/v1/api").path("students/2");
Response response = target.request().accept(MediaType.APPLICATION_JSON).get();
System.out.println(response.getStatus());
System.out.println(response.readEntity(String.class));
}
public static void saveStudent(){
Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://localhost:8080/v1/api").path("students");
JsonObject jsonStudentObject;
JsonObject jsonClassRoomObject;
Student student = new Student();
student.setSid(5);
student.setName("SCOTT");
student.setDate(Calendar.getInstance().getTime());
ClassRoom classRoom = new ClassRoom(1, "三年二班");
student.setClassRoom(classRoom);
jsonClassRoomObject = Json.createObjectBuilder()
.add("cid", student.getClassRoom().getCid())
.add("cname", student.getClassRoom().getName())
.build();
jsonStudentObject = Json.createObjectBuilder()
.add("sid", student.getSid())
.add("sname", student.getName())
.add("date", new SimpleDateFormat().format(student.getDate()))
.add("classroom", jsonClassRoomObject)
.build();
Response response = target.request().accept(MediaType.APPLICATION_JSON).post(Entity.json(jsonStudentObject));
System.out.println(response.getStatus());
System.out.println(response.readEntity(String.class));
}
public static void updateStudent(){
Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://localhost:8080/v1/api").path("students");
JsonObject jsonStudentObject;
JsonObject jsonClassRoomObject;
Student student = new Student();
student.setSid(5);
student.setName("SCOTT");
student.setDate(Calendar.getInstance().getTime());
ClassRoom classRoom = new ClassRoom(1, "三年二班");
student.setClassRoom(classRoom);
jsonClassRoomObject = Json.createObjectBuilder()
.add("cid", student.getClassRoom().getCid())
.add("cname", student.getClassRoom().getName())
.build();
jsonStudentObject = Json.createObjectBuilder()
.add("sid", student.getSid())
.add("sname", student.getName())
.add("date", new SimpleDateFormat().format(student.getDate()))
.add("classroom", jsonClassRoomObject)
.build();
Response response = target.request().accept(MediaType.APPLICATION_JSON).put(Entity.json(jsonStudentObject));
System.out.println(response.getStatus());
System.out.println(response.readEntity(String.class));
}
public static void deleteStudent(){
Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://localhost:8080/v1/api").path("students").path("1");
Response response = target.request().delete();
System.out.println(response.getStatus());
System.out.println(response.readEntity(String.class));
}
public static void main(String[] args) {
// getAll();
// getStudent();
saveStudent();
updateStudent();
deleteStudent();
}
}