Używam produktu Jersey do produkcji JSON (z odwzorowaniem POJO przez Jacksona) i Jetty (rozpocznij od głównej metody).
Działa on idealny dla Jersey 1.x .:Nie można włączyć obsługi powiązania JSON opartej na systemie POJO dla systemu Jackson w Jersey 2.0
ServletHolder sh = new ServletHolder(ServletContainer.class);
sh.setInitParameter("com.sun.jersey.config.property.resourceConfigClass",
"com.sun.jersey.api.core.PackagesResourceConfig");
sh.setInitParameter("com.sun.jersey.config.property.packages", "service");
sh.setInitParameter("com.sun.jersey.api.json.POJOMappingFeature", "true");
...
context.addServlet(sh, "/rest/*");
Server server = new Server(8080);
server.setHandler(context);
server.start();
Teraz migracji mojego projektu do Jersey 2.0 i udało się włączyć POJO oparty wiążące JSON w nim, pojawia się następujący: org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException: MessageBodyWriter not found for media type=application/json, type=class business.entity.ExampleEntity, genericType=class business.entity.ExampleEntity.
Oczywiście , com.sun.jersey.api.json.POJOMappingFeature
nieważne jak Jersey idzie org.glassfish
documentation powiedzieć, co następuje:
Aby użyć Jacksona jako dostawcy JSON (JAXB/POJO), musisz zarejestrować JacksonFeature i ContextResolver dla ObjectMapper (jeśli to konieczne) w konfiguracji (klient/serwer).
Ale nie mogę wymyślić, jak zrobić to poprawnie w moim przypadku.
stworzyłem trochę project na to pytanie:
oddziału master
- pracował na przykład Jersey 1.17.1;
oddział jersey-2.0-migration
- nie działa próba migracji do Jersey 2.0 - test nieudany;
oddział jersey-2.0-migrate-client-only
- non próba pracy do korzystania z Jersey klienta 2.0 działa serwer Jersey 1.17.1 - test zakończył się niepowodzeniem.
Pytanie brzmi: w jaki sposób, aby umożliwić wiązanie w Jersey 2,0
To zadziałało dla mnie! Wielkie dzięki! Dodałem dwie nowe gałęzie do mojego małego [projektu] (https://github.com/halfstrik/Jersey20Migration/tree/jersey-2.0-migration-success) na GitHub 'jersey-2.0-migrate-server-success' i' jersey -2.0-migracja-sukces "opisują rozwiązanie i przeszło test! – Strikki
Pracuję także z 'jersey-media-json-jackson 2.0' (patrz aktualizacja w' jersey-2.0-migration'), ale bez 'jersey-client 2.0' dostaje ostrzeżenia takie jak wspomniane w [comments] (http: //stackoverflow.com/a/16993761/846325) – Strikki
Godziny cierpienia minęły. Moxy zawodził w milczeniu i musiałem wrócić do Jacksona, a ja byłam gotowa, by przesunąć głowę przez okno. Dziękuję za tę odpowiedź. – JSager