使用JAXB以json格式获取数据时出错,但是数据很容易以XML格式获取

时间:2015-10-07 11:48:47

标签: java json web-services jaxb

package com.marketplace.acres.dummyapp.test;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.xml.bind.annotation.XmlRootElement;


@Path("/fortest")
@XmlRootElement
public class ForTest {
    public int id;
    public String name;

    public ForTest( ){

    }


    public ForTest(int id, String name){
        this.id = id;
        this.name = name;

    }



    @GET
    @Produces(MediaType.APPLICATION_XML)
    public ForTest getMessages(){
        ForTest emp1 = new ForTest(22,"sachin");
        return emp1;

        }
    }

此代码给出了预期的XML输出:

<forTest>
<id>22</id>
<name>sachin</name>
</forTest>

但是当我尝试通过更改以下内容获取json格式的数据时:

@Produces(MediaType.APPLICATION_XML)到@Produces(MediaType.APPLICATION_JSON),我收到一个错误:

严重:找不到媒体类型= application / json的MessageBodyWriter,类型=类com.marketplace.acres.dummyapp.test.ForTest,genericType = class com.marketplace.acres.dummyapp.test.ForTest。

如何以JSON格式获取数据?

1 个答案:

答案 0 :(得分:0)

通过在pom.xml中取消注释这些行来解决

Autolayout

但我最初对Eclipse中 EffectivePOM.xml pom.xml 感到困惑 是两者之间的区别吗?。在有效的POM中,这已经没有注释了。