Pessoal notei que quando ocorre um erro de validação e usando o método:
validator.onErrorSendBadRequest();
o json retornado vem faltando algumas aspas como em:
{“errors”: [{“message”: may not be empty,“category”: title}]}
may not be empty e title deveriam vir com aspas correto?
o mesmo ocorre quando faço:
result.use(Results.json()).from(validator.getErrors(), "errors").serialize();
estou usando o vraptor 3.4.0 e hibernate validator
notei que o erro ocorre apenas qdo tento serializar uma lista de br.com.caelum.vraptor.validator.Message
alguém já passou pelo problema?
abrasss
estranho… vc viu isso pelo firebug, ou fez a requisição diretamente?
vi pelo devtool que vem no chrome.
abrasss
faça a requisição diretamente (via terminal, ou browser mesmo) e veja o resultado
oi lucas, é um POST, fiz pelo REST console, e deu o mesmo resultado.
{“errors”: [{“message”: Informe o usuário.,“category”: owner},{“message”: Informe a data de inclusão.,“category”: included},{“message”: may not be empty,“category”: title}]}
por curl tb… mesma coisa
estranho… deve ser por causa dessa classe:
/***
* Copyright (c) 2009 Caelum - www.caelum.com.br/opensource All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package br.com.caelum.vraptor.validator;
import br.com.caelum.vraptor.ioc.Component;
import com.thoughtworks.xstream.converters.Converter;
This file has been truncated. show original
tenta criar uma classe igual a essa no seu projeto, mas colocando os valores entre aspas
coloquei:
writer.setValue("\"" + message.getMessage() + "\"");
era isso?
e o retorno:
{“errors”: [{“message”: “Informe o usuário.”,“category”: owner},{“message”: “may not be empty”,“category”: title}]}
é… não funcionou então =(
vc chegou a personalizar algo do xstream?
nada…
a unica coisa que alterei é para que dentro dos controllers do vraptor eu receba os @Service do Spring…
e meus @Repository recebem a sessionFactory atráves da anotação @AutoWired
agora na view da erro, to vendo um jeito de manter a session aberta na view
mas do xstream nada
abrass
qual é a versão do xstream?
qual servidor vc tá usando?
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.2</version>
</dependency>
apache tomcat 7
tenta voltar o xstream pra versão 1.3.1
com a versão 1.3.1 funcionou perfeitamente!
também consegui resolver o problema da session na view com filtro openSessionInView do Spring, em breve vou blogar sobre como foi realizada toda a integração. Mando o link no twitter.
Obrigado pela atenção
abrassss