Я пытаюсь использовать Jersey RS для возвращения JSON для POJO. Это не сервлет и нет контейнера сервлетов. Джерси настраивается с Netty (не Jetty). Я могу получить Джерси, чтобы вернуть APPLICATION_XML, но APPLICATION_JSON на том же ресурсе выдает исключение, в котором был указан No Message Body writer для моего класса домена. Я включил модули jersey-json и jackson-jaxrs в pom.xml.Приложение Джерси не возвращает JSON-представление для простого POJO
Вот как ResourceConfig в настоящее время установка:
Map<String, Object> props = new HashMap<String, Object>();
props.put(PackagesResourceConfig.PROPERTY_PACKAGES, RESOURCES_PACKAGE);
props.put(PROPERTY_BASE_URI, "http://localhost:9000/");
props.put(JSONConfiguration.FEATURE_POJO_MAPPING, true);
ContainerFactory.createContainer(JerseyHandler.class, new PackagesResourceConfig(props));
где JerseyHandler это мой класс Нетти Handler. Ресурс очень прост:
@Path("/test")
public class TestResource {
@GET
@Produces(MediaType.APPLICATION_JSON)
public TestData get() {
return new TestData();
}
TestData является простейшей моделью класса:
@XmlRootElement
public class TestData {
private String firstName;
private String lastName;
public TestData() {}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
Вот исключение при попытке получить доступ к "/ тест":
SEVERE: A message body writer for Java class com.xyz.models.TestData, and Java type class com.xyz.models.TestData, and MIME media type application/json was not found
Я попытался включая классы контекста от here, но все равно не повезло.
Я не могу себе представить, что возвращение JSON из Джерси может быть таким трудным. Все примеры в Интернете предполагают, что вы используете Джерси из контейнера сервлетов, но я нет! спасибо за любые входы.
mvn зависимость: дерево показывает, как джексон-сердечник и модули jackson-mapper-asl затягиваются jersey-json. Любые другие идеи? –