У меня есть класс
Entity implements org.joda.beans.Bean {
String name;
double weight;
....
}
У меня есть конечная точка, подобная этой:
@RequestMapping(value = "CREATE", method = POST)
public void createEntity(@RequestBody Entity entity) {
logic.createEntity(entity);
}
Frontend отправляет строку Json этой конечной точке:
{"name": "Bob", "weight":"99.7"}
Теперь я хочу иметь другую конечную точку для обновления сущности.Он принимает строки json, в которых установлена только часть атрибутов:
{"weight":"99.8"}
Его подпись может быть такой:
@RequestMapping(value = "UPDATE", method = POST)
public void updateCompany(@RequestBody Map<String, String> update1) {
Map<String, Object> update2 = deserialize(Entity.class,update1);
logic.updateEntity(update2);
}
Вопрос в том, как реализовать метод deserialize
которая берет пару строк ["weight", "99.8"] и преобразует ее в пару String-Object: ["weight", Double.valueOf ("99.8")], потому что она знает, что тип веса двойной какобъявлен в классе Entity
.Такое преобразование было сделано уже при подготовке аргументов для метода createEntity()
, теперь я хочу извлечь его как отдельный вызов метода.