Нужны ли мне геттеры для связывания JSON с Yasson?
Я пытаюсь избегать методов получения и установки в моем POJO, но Джерси использует мои методы получения для преобразования моего POJO в JSON.
Я попытался использовать Yasson, но когда я попытался удалить мои геттеры, он просто возвращает пустой JSON.
// the POJO
import javax.json.bind.annotation.JsonbProperty;
public final class LoginParameter {
@JsonbProperty("endpoint")
private String endPoint;
@JsonbProperty("company-id")
private String companyId;
public LoginParameter() {
endPoint = "";
companyId = "";
}
// trying to return JSON
final LoginParameter loginInfo = new LoginParameter();
loginInfo.setCompanyId("test");
loginInfo.setEndPoint("endpoint!");
return Response.status(Status.OK)
.entity(jsonb.toJson(loginInfo))
.type(MediaType.APPLICATION_JSON_TYPE).build();
1 ответ
По умолчанию yasson не сериализует частных участников. Чтобы можно было подобрать поля, сделайте их общедоступными или добавьте пользовательские javax.json.bind.config.PropertyVisibilityStrategy
во время выполнения.