Привет, Я ищу решение/плагин в Eclipse, чтобы сохранить свойства Java DTO на стороне сервера и их коллеги JSON на стороне клиента, согласованные на протяжении всей эволюции кодовой базы , Например, для веб-приложение с серверной Java, с API, открытых через интерфейс REST (используя Jackson), веб-приложение может иметь что-то вроде этого на сервере:Как сохранить совместимость с JS DTO на стороне сервера на стороне Java и на стороне клиента
DTO:
public class Person {
private String firstName;
private String lastName;
public Person(String string, String string2) {
firstName = string; lastName = string2;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
The Rest Услуги:
@Path("/data")
public class PersonService {
@GET
@Path("persons")
@Produces(MediaType.APPLICATION_JSON)
public List<Person> getAssets() {
List<Person> persons = new ArrayList<Person>();
persons.add(new Person("Jimmy", "Hendrix"));
persons.add(new Person("Roger", "Waters"));
return persons;
}
}
на стороне клиента в JavaScript/JQuery, мы можем иметь такой код:
$.ajax('/data/persons/', function(data){ for(var i = 0; i < data.length; i++){ var firstName = data[i].firstName; var lastName = data[i].lastName; //do some stuff to populate the view with the person data } });
Все это легко настроить. Однако, поскольку кодовая база развивается и изменяется (как это всегда бывает), предположим, что необходимо изменить имена полей DTO из «firstName» и «lastName», «foreName» и «surName».
В Eclipse рефакторинг всего кода Java прост, используя пункт меню Refactor, который найдет ВСЕ ссылки метода/поля в Java-коде и заменит их. Обратите внимание, что «Refactor ...» Eclipse отличается от действия Find/Replace. Find/Replace заменяет основной текст на все указанные файлы. С другой стороны, Refactor учитывает, что Java является строго типизированным языком программирования и ищет все вызовы методов с этой сигнатурой.
Было бы здорово, если бы была какая-то функция плагина или Eclipse, которая была бы достаточно умна, чтобы изменить ссылку на «firstName» и «lastName» в коде Javascript. Это сэкономит разработчикам время, необходимое для выполнения Refactor только для кода Java, а затем выборочного поиска/замены в коде Javascript и сокращения потенциальных ошибок времени выполнения. Кто-нибудь знает, существует ли такой инструмент/плагин?