【问题标题】:GET REST error 415获取 REST 错误 415
【发布时间】:2012-01-06 07:22:59
【问题描述】:

我在尝试执行 GET REST 命令时收到以下错误消息:

“返回 415 Unsupported Media Type 的响应状态”

这是代码:

<code> whenGetPatternByGroupName() {
        Client client = Client.create(new DefaultClientConfig());

        URI uri = UriBuilder.fromUri("http://bla:7979/bla/rest/pattern/").build();
        WebResource service = client.resource(uri);

        List <PatternList> patternList = new ArrayList<PatternList>();
        patternList = service.path("getAll").type(MediaType.APPLICATION_XML).get(patternList.getClass());

        assertThat(patternList.size(), greaterThan(0));
     }
</code>

<code> @GET
    @Path("getAll")
    @Consumes({MediaType.APPLICATION_JSON})
    public List<PatternList> getAllPatterns() { 
        ArrayList<PatternList> list = new ArrayList<PatternList>();

        // put group names here
        String[] groups = new String[] {"Group 1"};

        for (String groupName : groups) {

            List<String> patterns = patternPersistenceService.getListByGroupName(groupName);

            PatternList patternList = new PatternList();
            patternList.setGroupName(groupName);
            patternList.setPatterns(patterns);

            list.add(patternList); 
        }
        return list;
    }
</code>

有人知道是什么原因造成的吗?

谢谢,

【问题讨论】:

标签: java rest


【解决方案1】:

你已经混合了MediaType(你的方法根本不消耗任何东西......):

  • 客户:MediaType.APPLICATION_XML
  • 休息:MediaType.APPLICATION_JSON

【讨论】:

  • 好的,我尝试将它们都设置为 JSON,现在得到以下结果:严重:Java 类 java.util.ArrayList 和 Java 类型类 java.util.ArrayList 的消息正文阅读器,以及未找到 MIME 媒体类型 application/xml
【解决方案2】:

为 GET 请求设置媒体类型并在处理程序中使用 @Consumes 似乎很奇怪,因为 GET 请求没有正文。你不是说在客户端使用accept方法,在服务端使用@Produces吗?

【讨论】:

  • 好的,我尝试更改为 @Produces 并接受但现在得到以下内容:严重:Java 类 java.util.ArrayList 和 Java 类型类 java 的消息正文阅读器.util.ArrayList 和 MIME 媒体类型 application/json 未找到
  • 你也可以尝试传递List.class而不是patternList.getClass()吗?
  • 用泛型似乎有点复杂,试试new GenericType&lt;List&lt;PatternList&gt;&gt;,如jersey.576304.n2.nabble.com/…中所述
  • 感谢使用 GenericType!感谢您的帮助
猜你喜欢
  • 2014-10-11
  • 1970-01-01
  • 2015-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-17
  • 1970-01-01
相关资源
最近更新 更多