Czy Spring MVC 3.1 jest kompatybilny z Jackson 2.0? Czy Spring MVC automatycznie wykryje Jacksona na ścieżce klasowej, a delegacja do Jacksona na żądania z typem zawartości JSON nadal działa?Jackson 2.0 ze Spring 3.1
Odpowiedz
Wsparcie Jackson 2 został dodany w Spring 3.2, a także przeniesione na wiosenną 3.1.2 (SPR-9507)
Musisz zmienić swój plik pom.xml, jeśli przeprowadzasz migrację z wersji 1.x ('Krok 1: zaktualizuj zależności Maven/JAR 'z http://www.cowtowncoder.com/blog/archives/2012/04/ entry_469.html jest wszystkim, czego potrzebujesz do wbudowanego wsparcia, aby się zatrzasnąć) – Manav
Keith Donald (z źródła wiosennego) napisał tweeta po chwili.
Obsługa Spring MVC dla Jacksona 2; współpracuje również z Jacksona rodzimej „Pretty druku” cecha https://gist.github.com/2423129
ja nie próbowałem MappingJackson2HttpMessageConverter
znaleźć w GIST powyżej ale to dziwi mnie, jeśli to nie działa.
Żeby było jasne, wiosna 3.1 nie posiada natywne wsparcie dla Jacksona 2. To wiosną 3,2
Zostało to dodane w 3.1.2. –
na wiosnę 3.1.2 i Jackson 2 -
Jak wspomniano powyżej, w automatycznej JustWorks pomocy ™
ale konfiguracja nie, jak większość sieci jest pełno gotowych mechanizmów konfiguracyjnych Spring3/Jackson2
Tak dla potomności, będę się lista hack (? lub czy to jest oficjalny sposób), aby skonfigurować konwerter Jackson. W tym konkretnym przypadku, jestem konfiguracji konwertera, aby powrócić daty w formacie ISO-8601:
package foo.bar.JacksonConfig;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.stereotype.Component;
@Component
public class JacksonConfig implements BeanPostProcessor {
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
return bean;
}
public Object postProcessAfterInitialization(Object bean, String beanName)
throws BeansException {
if (bean instanceof MappingJackson2HttpMessageConverter) {
MappingJackson2HttpMessageConverter jsonConverter =
(MappingJackson2HttpMessageConverter) bean;
ObjectMapper objectMapper = jsonConverter.getObjectMapper();
objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
jsonConverter.setObjectMapper(objectMapper);
}
return bean;
}
}
Jestem pewien, że nie jest to oficjalna metoda, ale jest bardzo sprytna! –
"Oficjalna" metoda konfiguracji jest opisana tutaj: http: //wallsofchange.wordpress.com/2013/02/02/spring-mvc-rest-services-force-jackson-serialize-dates-as-iso-8601-dates /. Jedyną różnicą w Jackson 2 jest użycie 'MappingJackson2HttpMessageConverter' zamiast' MappingJacksonHttpMessageConverter' oraz 'SerializationFeature.WRITE_DATES_AS_TIMESTAMPS' zamiast' SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS'. –
@Ryan to działa świetnie – oers
od wiosny 3.1.2 po prostu trzeba dodać Jackson-databind słoik na ścieżce klas.
W Maven można skonfigurować go tak:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
Reszta magii zostaną wykonane automatycznie przez sprężynę.
Patrz: http://norrisshelton.wordpress.com/2012/07/15/spring-3-mvc-with-json-via-jackson-2-0/
Człowieku, szaleję, aż to znalazłem. Naprawdę dzięki! –
nie testowałem MVC wiosny 3.1 kompatybilny z Jackson 2.0. Ale napotykam problem kompatybilny z 3.0.5. Wreszcie uważam, że Spring MVC 3.0.5 jest kompatybilny tylko z Jackson 1.0.0, zdecydowanie Jackson 1.5.3 nie jest kompatybilny !!!
- 1. spring 3.1 @Przyłączalny przykład
- 2. Spring Security 3.1 Run-As
- 3. HibernateInterceptor ze sprężyną 3.1 i hibernacją 4.01
- 4. Jackson niestandardowy serializacji pod Spring 3 MVC
- 5. Serializing Joda DateTime with Jackson and Spring
- 6. Rejestracja modułu Jackson dla Spring Data REST
- 7. Jackson vs Spring HATEOAS vs. Polimorfizm
- 8. RestTemplate z Basic Auth w Spring 3.1
- 9. Spring 3.1 Cache Abstraction bez parametrów
- 10. Uzyskiwanie renderowanego wyjścia Spring 3.1 MVC View
- 11. AngularJS ze Spring-mvc
- 12. Wyjątek w trybie GWT Dev + Spring 3.1 + Hibernate 4.0.1
- 13. Oauth 2.0 Android use Spring-For-Android
- 14. Parsowanie tablicy obiektów JSON przy użyciu pakietu Jackson 2.0
- 15. Integracja Dropwizard ze Spring Security
- 16. Twitter Bootstrap ze Spring MVC
- 17. Jak dostosować program Jackson JSON niejawnie używany przez Spring Boot?
- 18. Jak prawidłowo skonfigurować znacznik http w Spring Security 3.1?
- 19. Jak obsługiwać różne wyjątki uwierzytelniania w Spring security 3.1?
- 20. Spring-MVC 3.1: Jak zmapować adresy URL za pomocą ukośnika?
- 21. Spring 3.1 Autowiring nie działa w niestandardowym kontrolerze więzów
- 22. Dlaczego testowanie urządzenia przy użyciu Spring 3.1 WebMvcConfig nie działa?
- 23. Jak zastąpić Spring 3.1 @PropertySource, aby ustawić IgnoreResourceNotFound i IgnoreUnresolvablePlaceholders
- 24. Szukam OSGi ze Spring (specjalnie Spring MVC) tutorial
- 25. spring-hateoas 0.8.0.RELEASE kompatybilność ze Spring 4
- 26. Konfigurowanie JDO na wiosnę 3.1?
- 27. Jak na całym świecie ustawić Jackson do ignorowania nieznanych właściwości w Spring?
- 28. Wykonaj plik SQL ze Spring JDBC Template
- 29. Spring Boot ze źródłem danych JNDI
- 30. Logowanie/wylogowywanie w REST ze Spring 3
Dlaczego by nie mieli? Czy próbowałeś i zauważyłeś, że to nie działa? –
http://stackoverflow.com/questions/10085088/jackson-annotations-being-ignored-in-spring –