Boa tarde!
Eu estou tentando fazer um crud que usa Ajax para fazer o save, então no data desse ajax eu estou passando os inputs, assim:
{"obj.email": "[email removido]",
"obj.groups[0]": 1,
"obj.groups[1]": 2,
"obj.groups[2]": 3,
"obj.id": "1",
"obj.name": "ADMINISTRATOR",
"obj.status": "ATIVO",
"obj.username": "admin"}
Porém, eu percebi que o VRaptor estava acionando o meu converter de User:
@Convert(User.class)
public class UserConverter implements Converter<User> {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
private UserDAO dao;
public UserConverter(UserDAO dao) {
this.dao = dao;
}
@Override
public User convert(String value, Class<? extends User> type,
ResourceBundle bundle) {
try {
return this.dao.get(Long.parseLong(value));
} catch (NumberFormatException e) {
logger.warn("Unable to convert to long. Value: '" + value + "'\n"
+ e.getMessage());
} catch (HibernateException e) {
logger.warn("Unable to get this record. Value: '" + value + "'\n"
+ e.getMessage());
} catch (Exception e) {
logger.warn("An error occured. Value: '" + value + "'\n"
+ e.getMessage());
}
return new User();
}
}
Como ele retorna uma instância de User, ele está chegando assim no meu controller:
User: {id:null, name:'null', status:'null', email:'null', username:'null', language:'null'}
Minha dúvida é: ele não deveria acionar o converter, certo?
É algo que eu estou passando errado no data do ajax? 

