我想创建一个简单的web服务,它使用json输出,但没有得到所需的Json输出。用泽西和Jaxb自定义Json输出
POJO: package com.rest.resource;
import java.io.Serializable;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Track implements Serializable
{
@XmlElement
String singer = "ABC";
@XmlElement
String title = "XYZ";
}
服务:
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.xml.bind.JAXBException;
import com.rest.resource.Track;
@Path("/json/metallica")
public class JSONService
{
@POST
@Path("/post")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Track createTrackInJSON(final Track track)
{
return track;
}
@GET
@Path("/get")
@Produces(MediaType.APPLICATION_JSON)
public Response getTrackInJSON() throws JAXBException
{
final Track track = new Track();
return Response.status(201).entity(track).build();
}
}
打开/让我得到
{ “歌手”: “ABC”, “称号”: “XYZ”}
但我想“ track“:{”singer“:”ABC“,”title“:”XYZ“} 我无法打印根元素。
我试过使用CustomJAXBContextResolver类,但没有为我工作?任何人都可以举一个相同的例子吗?
时使用它嘿,这对于获取请求非常有效,但发布请求失败。 你有什么想法,我应该调整? – user1552879