Прежде всего, не стоит создавать собственный класс Response
.Класс javax.ws.rs.core.Response
существует и должен использоваться для общего ответа метода JAX-RS.
Относительно 1: If by ' print 'Вы имеете в виду возвращать JSON-представление Person
экземпляра , просто сделайте это:
@Override
public Person getPerson(int id) {
Person personForId = person.get(id);
if (personForId == null) {
thrown new NotFoundException();
}
return personForId;
}
Экземпляр Person
будет автоматически сериализован в представление JSON.
Относительно 2: Так как Person
следует соглашению методов получения и установки Java Bean, элементы JSON будут отображаться по имени в свойствах компонента.Этот JSON
{
"status": true,
"message": "some message"
}
будет сопоставлен с Person
экземпляром с status = true
и message = "some message"
.
Существует множество аннотаций, которые можно использовать для класса, для его полейили методы получения или установки, которые позволяют настроить это поведение.
Относительно 3: Это поведение зависит от используемой вами библиотеки сериализации JSON.Широко используемая библиотека Джексона предоставляет аннотацию @JsonIgnoreProperties
.Другие библиотеки могут иметь разные аннотации для этой цели.