在带有Jersey的REST Web服务中返回JSON时,找不到媒体类型= application / json的MessageBodyWriter

aya

我正在尝试使用Jersey创建一个非常简单的REST服务。这是服务代码

@Path("/UserService")
public class UserService {

    @GET
    @Path("/users")
    @Produces(MediaType.APPLICATION_XML)
    public List<User> getUsers() {
        User user = new User(1, "Thomas", "Greene");
        List<User> userList = new ArrayList<User>();
        userList.add(user);
        return userList;
    }
}

当我通过Postman运行它时,它会返回一个XML响应

Postman中的XML响应

现在,我想找回JSON响应。因此,我将媒体类型更改为application/json

@Path("/UserService")
public class UserService {

    @GET
    @Path("/users")
    @Produces(MediaType.APPLICATION_JSON)
    public List<User> getUsers(){ 
        User user = new User(1, "Thomas", "Greene");
        List<User> userList = new ArrayList<User>();
        userList.add(user);
        return userList;
   }    
}

它在Tomcat日志中给我以下错误:

严重:找不到媒体类型= application / json,类型= class java.util.ArrayList,genericType = java.util.List的MessageBodyWriter。

有人可以指导我如何获取JSON响应吗?

卡西莫林

要将Jackson 2.x用作JSON提供程序,您需要将jersey-media-json-jackson模块添加pom.xml文件中:

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-json-jackson</artifactId>
    <version>2.22.2</version>
</dependency>

然后JacksonFeature在您的Application/ResourceConfig子类中注册

有关更多详细信息,请参阅Jersey文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试通过JAX-RS Web服务获取“找不到针对媒体类型= application / json的MessageBodyWriter”时发送JSON对象

来自分类Dev

带有Grizzly的球衣:找不到Media type = application / json的MessageBodyWriter

来自分类Dev

带有Grizzly的球衣:找不到Media type = application / json的MessageBodyWriter

来自分类Dev

严重:找不到针对媒体类型= application / json,类型= class com.jersey.jaxb.Todo,genericType = class com.jersey.jaxb.Todo的MessageBodyWriter

来自分类Dev

执行jar的“找不到媒体类型= application / json的JAX-RS MessageBodyWriter”但mvn:exec起作用

来自分类Dev

泽西岛2.x帖子调用引发严重:找不到媒体类型= application / json的MessageBodyWriter

来自分类Dev

RestEasy:找不到类型为java.util.Array的响应对象的MessageBodyWriter媒体类型为:application / json

来自分类Dev

找不到媒体类型= application / x-www-form-urlencoded的jersey-Client MessageBodyWriter

来自分类Dev

静态Web服务中的Application / JSON是不受支持的媒体类型

来自分类Dev

找不到媒体类型= text / plain的Jersey MessageBodyWriter

来自分类Dev

泽西错误:找不到媒体类型= application / json的MessageBodyReader

来自分类Dev

javax.ws.rs.WebApplicationException:com.sun.jersey.api.MessageException:带有Jersey的Java REST Webservices中的JSON支持

来自分类Dev

MessageBodyProviderNotFoundException:找不到媒体类型=应用程序/json,类型=类 java.lang.Long 的 MessageBodyWriter

来自分类Dev

找不到针对媒体类型= {application / xml,q = 1000}的MessageBodyWriter-泽西岛+ Jaxb

来自分类Dev

带有Accept Header application / json的REST API返回一个数字

来自分类Dev

具有球衣依赖项的Gradle jar会为媒体type = application / json找不到MessageBodyReader

来自分类Dev

无法显示来自Jersey的JSP:找不到媒体类型= text / html的MessageBodyWriter

来自分类Dev

带有Jersey 2.23.2的RESTful JSON

来自分类Dev

带有嵌套JSON的REST

来自分类Dev

org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException:找不到针对媒体类型= multipart / form-data的MessageBodyWriter

来自分类Dev

Jersey application / json到参数

来自分类Dev

严重:找不到Java类java.util.ArrayList和MIME媒体类型application / json的消息正文编写器

来自分类Dev

带有Jackson JSON反序列化的Jersey 2.6

来自分类Dev

带有Spring Security的JSON REST API

来自分类Dev

带有JSON和XML的Spring REST

来自分类Dev

Jersey REST客户端-将自定义MediaType视为MediaType.APPLICATION_JSON

来自分类Dev

contentType:带有POST方法的'application / json'(JavaScript)

来自分类Dev

Weblogic配置错误-找不到Java类和Java类型类以及MIME媒体类型application / json的消息正文编写器

来自分类Dev

VS Web负载测试返回415不支持的媒体类型,尽管Content-Type被指定为application / json

Related 相关文章

  1. 1

    尝试通过JAX-RS Web服务获取“找不到针对媒体类型= application / json的MessageBodyWriter”时发送JSON对象

  2. 2

    带有Grizzly的球衣:找不到Media type = application / json的MessageBodyWriter

  3. 3

    带有Grizzly的球衣:找不到Media type = application / json的MessageBodyWriter

  4. 4

    严重:找不到针对媒体类型= application / json,类型= class com.jersey.jaxb.Todo,genericType = class com.jersey.jaxb.Todo的MessageBodyWriter

  5. 5

    执行jar的“找不到媒体类型= application / json的JAX-RS MessageBodyWriter”但mvn:exec起作用

  6. 6

    泽西岛2.x帖子调用引发严重:找不到媒体类型= application / json的MessageBodyWriter

  7. 7

    RestEasy:找不到类型为java.util.Array的响应对象的MessageBodyWriter媒体类型为:application / json

  8. 8

    找不到媒体类型= application / x-www-form-urlencoded的jersey-Client MessageBodyWriter

  9. 9

    静态Web服务中的Application / JSON是不受支持的媒体类型

  10. 10

    找不到媒体类型= text / plain的Jersey MessageBodyWriter

  11. 11

    泽西错误:找不到媒体类型= application / json的MessageBodyReader

  12. 12

    javax.ws.rs.WebApplicationException:com.sun.jersey.api.MessageException:带有Jersey的Java REST Webservices中的JSON支持

  13. 13

    MessageBodyProviderNotFoundException:找不到媒体类型=应用程序/json,类型=类 java.lang.Long 的 MessageBodyWriter

  14. 14

    找不到针对媒体类型= {application / xml,q = 1000}的MessageBodyWriter-泽西岛+ Jaxb

  15. 15

    带有Accept Header application / json的REST API返回一个数字

  16. 16

    具有球衣依赖项的Gradle jar会为媒体type = application / json找不到MessageBodyReader

  17. 17

    无法显示来自Jersey的JSP:找不到媒体类型= text / html的MessageBodyWriter

  18. 18

    带有Jersey 2.23.2的RESTful JSON

  19. 19

    带有嵌套JSON的REST

  20. 20

    org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException:找不到针对媒体类型= multipart / form-data的MessageBodyWriter

  21. 21

    Jersey application / json到参数

  22. 22

    严重:找不到Java类java.util.ArrayList和MIME媒体类型application / json的消息正文编写器

  23. 23

    带有Jackson JSON反序列化的Jersey 2.6

  24. 24

    带有Spring Security的JSON REST API

  25. 25

    带有JSON和XML的Spring REST

  26. 26

    Jersey REST客户端-将自定义MediaType视为MediaType.APPLICATION_JSON

  27. 27

    contentType:带有POST方法的'application / json'(JavaScript)

  28. 28

    Weblogic配置错误-找不到Java类和Java类型类以及MIME媒体类型application / json的消息正文编写器

  29. 29

    VS Web负载测试返回415不支持的媒体类型,尽管Content-Type被指定为application / json

热门标签

归档