Я пытаюсь научиться создавать веб-сервисы RESTful.Я пытаюсь сделать следующее: Создать метод, который возвращает объект сообщения (в формате JSON) из списка сообщений.(Который был инициализирован с помощью конструктора)
Он работает нормально для этих URI:
http://localhost:8080/MyMessenger/webapi/testresource/1 http://localhost:8080/MyMessenger/webapi/testresource/2 http://localhost:8080/MyMessenger/webapi/testresource/3
Для URI: http://localhost:8080/MyMessenger/webapi/testresource/4
Я получаю следующий ответ:
{
"id": 1,
"message": "m1"
}
Но я добавил только 3 элемента в массив.Что я здесь не так делаю?
Я предполагаю, что это как-то связано с многократным запуском конструктора.Но я не вижу, чтобы это происходило где-либо.
@Path("testresource")
public class MessageResource {
private static List<Message> list = new ArrayList<>();
public MessageResource() {
list.add(new Message(1L,"m1"));
list.add(new Message(2L,"m2"));
list.add(new Message(3L,"m3"));
}
@GET
@Path("{messageId}")
@Produces(MediaType.APPLICATION_JSON)
public Message getSpecificMessage(@PathParam("messageId") int messageId) {
return list.get(messageId-1);
}
}