获取HTTP请求的响应代码-Java
这里是我的问题:我想获取客户端发出的HTTP请求的响应代码 这是我的代码:获取HTTP请求的响应代码-Java,java,rest,http,Java,Rest,Http,这里是我的问题:我想获取客户端发出的HTTP请求的响应代码 这是我的代码: @GET @Produces({MediaType.TEXT_XML, MediaType.APPLICATION_JSON , MediaType.APPLICATION_XML }) public List<Person> getPersonsBrowser() throws IOException { int code = 0; try { URL url
@GET
@Produces({MediaType.TEXT_XML, MediaType.APPLICATION_JSON , MediaType.APPLICATION_XML })
public List<Person> getPersonsBrowser() throws IOException {
int code = 0;
try
{
URL url = new URL(uriInfo.getAbsolutePath().toString());
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
code = connection.getResponseCode();
}
catch(Exception e)
{
}
System.out.println("code: "+code);
System.out.println("Request #1: "+ request.getMethod() + " /"+uriInfo.getPath() + "Accept: ");
//System.out.println("Getting list of people...");
List<Person> people = Person.getAll();
//System.out.println("----"+people.get(1));
return people;
}
这是类PersonModel.java的getAll方法:
@NamedQuery(name="Person.findAll", query="SELECT p FROM Person p")
public static List<Person> getAll() {
EntityManager em = LifeCoachDao.instance.createEntityManager();
List<Person> list = em.createNamedQuery("Person.findAll", Person.class)
.getResultList();
LifeCoachDao.instance.closeConnections(em);
return list;
}
如何避免这种循环?如果没有这个循环,我怎样才能得到代码?一旦解决了这个问题,就应该看看try-catch块。你不想默默地接受这样的异常。Person.getAll的代码是什么?为什么这个被标记为JPA问题?看起来更像是REST/JAX-RS问题。为什么要从端点内部向完全相同的端点发出请求?毫无意义。这就是为什么你会得到一个无限循环。你到底想干什么?
@NamedQuery(name="Person.findAll", query="SELECT p FROM Person p")
public static List<Person> getAll() {
EntityManager em = LifeCoachDao.instance.createEntityManager();
List<Person> list = em.createNamedQuery("Person.findAll", Person.class)
.getResultList();
LifeCoachDao.instance.closeConnections(em);
return list;
}