簡體   English   中英

春季在Jersey應用程序的自定義消息正文編寫器

[英]Custom Message Body Writer for Jersey Application in Spring

我有一個使用Spring MVC和Jersey的Rest Api

@GET
@Path("/hello")
@Produces(MediaType.APPLICATION_JSON)
public List<AccountEntity> hello() {
    return repository.findAll();

}

此方法始終失敗,並出現以下錯誤

SEVERE: A message body writer for Java class java.util.ArrayList, and Java type java.util.List<net.viralpatel.spring.controller.AccountEntity>, and MIME media type application/json was not found.

我的Gradle依賴

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    compile group: 'org.springframework', name: 'spring-webmvc', version: '4.3.9.RELEASE'
    compile group: 'org.springframework', name: 'spring-tx', version: '4.3.9.RELEASE'
    compile group: 'org.springframework.data', name: 'spring-data-jpa', version: '1.11.4.RELEASE'
    compile group: 'org.hibernate', name: 'hibernate-entitymanager', version: '5.2.10.Final'
    compile "javax.servlet:javax.servlet-api:3.0.1"
    compile "javax.servlet:jstl:1.2"
    compile 'org.glassfish.grizzly:grizzly-http-servlet-server:2.3.11@jar'
    compile group: 'mysql', name: 'mysql-connector-java', version: '6.0.6'
    compile group: 'com.sun.jersey.contribs', name: 'jersey-spring', version: '1.19.4'

}

我嘗試添加

compile group: 'org.glassfish.jersey.media', name: 'jersey-media-moxy', version: '2.26-b06'

但是隨后錯誤顯示為javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder;

我的項目結構

添加傑克遜依賴項后更新

caused by: com.sun.jersey.api.MessageException: A message body writer for Java class java.util.ArrayList, and Java type java.util.List<net.viralpatel.spring.controller.AccountEntity>, and MIME media type application/json was not found.

您必須添加jersey-json依賴關系,而不是moxyjackson

compile group: 'com.sun.jersey', name: 'jersey-json', version: '1.19.4'

該依賴項已經包含jackson以及其他必需的依賴項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM