я работаю над проектом внешнего интерфейса в jsf, java.Мое приложение потребляет остаток API, который дает мне JSON.Я должен сопоставить этот JSON с сущностью.Моя проблема в том, что одна из моих сущностей имеет отношение один ко многим с другой сущностью, и я не знаю, как отобразить это.
У меня есть сущность Usuario:
public class usuario {
private String usuario_pk;
private String codigo;
private List<penca> pencas;
...}
СущностьPenca:
public class penca {
private String penca_pk;
private String codigo;
...}
JSON, который получает мое приложение, выглядит так:
{"usuario_pk":"3",
"codigo":"terry",
"pencas":[{"penca_pk":"1","codigo":"penca1"}]}
Чтобы соединиться с API, выполните GET и сопоставьте JSON с сущностью im, используя это:
import com.constantes.constantes;
import com.entity.usuario;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
public class restClient {
private static final Logger LOGGER = Logger.getLogger(restClient.class.getName());
private restClient() {
}
public static WebTarget getWebTarget(String service) {
Client client = getClient();
WebTarget target = client.target(constantes.url+"/"+service+"/");
return target;
}
private static Client getClient() {
Client client = ClientBuilder.newClient();
return client;
}
public static <T> T invokeGet(WebTarget webTarget,Class<T> responseType, String primaryKey) {
Response response = webTarget.queryParam("pk", primaryKey).request(MediaType.APPLICATION_JSON).get();
return respond(response, responseType);
}
private static <T> T respond(Response response, Class<T> responseType) {
if (responseType == null){
return null;
} else if (responseType.isArray()) {
return (T) response.readEntity(new GenericType<>(responseType));
} else {
return response.readEntity(responseType);
}
}
}
Сопоставление JSON с сущностью без отношения работает нормально, но проблема в том, что у сущности есть отношение.Кто-то может сказать мне возможное решение?Спасибо.