в моей системе Данные людей должны быть экспортированы в систему, основанную на отдыхе, через json, полезная нагрузка тела сообщения должна быть зашифрована ... так как мои знания малы с отдыхом и спрингбутом, я понятия не имею, правильно ли я делаю.. ..Думаю, нет.* Я использую jooq
Здесь я ищу людей и возвращаю список людей
Result<Record> result = ctx.select()
.from(PERSON)
.orderBy(PERSON.NUM)
.fetch();
for (Record r : result) {
Integer lNum = r.getValue(PERSON.NUM);
String name = r.getValue(PERSON.SNOME);
String rm = r.getValue(PERSON.SRM);
personDto = new AlunoDto();
personDto.setlNum(num);
personDto.setsNome(name);
personDto.setsRm(rm);
personList.add(personDto);
}
} catch (Exception e) {
e.printStackTrace();
}
**return personList;**
В моем PersonController я получаю список людей и шаг в качестве параметра к методу, которыйконвертирует в json и шифрует
@RequestMapping(value = "/person", method = RequestMethod.GET)
public String getAllPerson(){
try {
personsEncypted= convertToJson(personList);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return personsEncypted;
}
public String convertToJson(List obj) throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
String onInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj);
String key = "00000000000000000000000000";
String personEncrypted= encrypt(key, jsonInString);
return personEncrypted;
}
public static String encrypt(String key, String value) {
try {
SecretKeySpec skeySpec = new SecretKeySpec(key.getBytes("UTF-8"), "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5PADDING");
cipher.init(Cipher.ENCRYPT_MODE,skeySpec);
byte[] encrypted = cipher.doFinal(value.getBytes());
return Base64.encodeBase64String(encrypted);
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
, когда адрес отображается в браузере, как данные отображаются
Будет ли другая сторона потреблять данные?большое спасибо ...