bir yanıt sınıf oluşturun Daha az invaziv olan
olan alternatif bir çözüm (yay 3.1 ile çalışır) bahar config
:
<bean id="jacksonConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="mypackage.MyMessageConverter"
p:delegate-ref="jacksonConverter">
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
fikri kendi HttpMessageConverter sağlamaktır şartıyla jackson dönüştürücü delegeler.
public class MyMessageConverter implements HttpMessageConverter<Object> {
// setters and delegating overrides ommitted for brevity
@Override
public void write(Object t, MediaType contentType, HttpOutputMessage outputMessage) throws IOException,
HttpMessageNotWritableException {
// t is whatever your @ResponseBody annotated methods return
MyPojoWrapper response = new MyPojoWrapper(t);
delegate.write(response, contentType, outputMessage);
}
}
Bu şekilde tüm pojoslarınız, orada sağladığınız başka bir jsonla sarılır.
Kural dışı durumlar için, ericacm tarafından önerilen çözüm gitmenin en kolay yoludur ('BadStatus' döndürme türünü @ResponseBody ile ekleyerek eklemeyi unutmayın).
Bir uyarı: json seri hale getirilmiş BadStatus'unuz MyMessageConverter üzerinden de geçer, bu nedenle nesne türü için geçersiz 'yazma' yönteminde sınamak veya MyPojoWrapper'ın bunu işlemesini sağlamak isteyeceksiniz.
belki de ilgili: http://stackoverflow.com/questions/6014784/serialize-specific-exceptions-with-spring-mvc – Bozho