В нем есть класс @controller с правильно настроенным методом @RequestMapping (...). Br />@RequestMapping("")
@ResponseBody
public User edit(User params){...}
< /code>
, где сам пользователь имеет поле Pojo Type 'Organisation Mamember': < /p>
public class User {
protected OrganisationMember organisationMemberExtension;
public OrganisationMember getOrganisationMemberExtension(){
return this.organisationMemberExtension;
}
public void setOrganisationMemberExtension(OrganisationMember organisationMemberExtension){
this.organisationMemberExtension = organisationMemberExtension;
}
}
< /code>
Когда запрос имеет параметр OrganisationMemberextension = "" < /strong>, пружина не удастся с сообщением об ошибке: < /p>
Ошибка поля в объекте «Пользователь» на поле «Организация memberextension»: отклоненное значение []; Коды [typemiscath.user.organisationmemberextension, typemiscath.organisationmemberextension, typemismatch.cool.rs.mrp.data.model.org.organisationmember, typemismatch]; Аргументы [org.springframework.context.support.defaultmessagesourceresolvable: коды [user.organisationmemberextension, OrganisationMemberextension]; аргументы []; Сообщение по умолчанию [OrganisationMemberextension]]; Сообщение по умолчанию [не удалось преобразовать значение свойства типа 'java.lang.string' в требуемый тип 'cool.rs.mrp.data.model.org.organisationmember' для свойства 'OrganisationMemberextension'; Невозможно преобразовать значение типа 'java.lang.string' в требуемый тип 'cool.rs.mrp.data.model.org.organisationmember' для собственности 'OraricationMemberextension': нет соответствующих редакторов или стратегии конверсии < /p>
Итак, как обеспечить соблюдение Spring, чтобы даже не пытаться преобразовать пустую строку в какой -то тип объекта, а установить соответствующее свойство Pojo в null вместо? p>
было бы здорово, если бы это было сделано с помощью некоторой встроенной реализации преобразователя и параметров конфигурации, если таковые имеются. Использование метода @InitBinder класса @Controller с пользовательским редактором: < /p>
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(OrganisationMember.class, new StringToOrganisationMemberConverter());
}
< /code>
... также возможно, но менее предпочтительнее. Bean for user.organisationmemberextension и заполняет его поля с помощью OrganisationMemberextension.id = 0; OrganisationMemberextension.name = "ojdljzd"; ... запросить параметры?
Подробнее здесь: https://stackoverflow.com/questions/794 ... n-property
Как обеспечить соблюдение Spring, чтобы преобразовать пустой параметр запроса строки в свойство бобов как NULL, избегая ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение