Я получаю HTTP-статус 500 на своем REST API, и он говорит: «Сервер столкнулся с непредвиденным состоянием, которое не позволило ему выполнить запрос». Я создал проект в Eclipse с помощью веб-приложения на Джерси. Путь myresource, который идет с проектом, работает отлично. Ниже мой код.
@Path("aliens")
public class AlienResource
{
AlienRepository repo = new AlienRepository();
@GET
@Produces({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})
public List<Alien> getAliens()
{
System.out.println("getAlien called...");
return repo.getAliens();
}
@GET
@Path("alien/{id}")
@Produces({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})
public Alien getAlien(@PathParam("id")int id)
{
return repo.getAlien(id);
}
}
public class AlienRepository
{
List<Alien> aliens;
public AlienRepository()
{
aliens = new ArrayList<>();
Alien a1 = new Alien();
a1.setId(101);
a1.setName("Felix");
a1.setPoints(10);
Alien a2 = new Alien();
a2.setId(102);
a2.setName("William");
a2.setPoints(20);
aliens.add(a1);
aliens.add(a2);
}
public List<Alien> getAliens()
{
return aliens;
}
public Alien getAlien(int id)
{
for(Alien a : aliens)
{
if(a.getId()==id)
return a;
}
return null;
}
}