0
我想在傳遞json對象時調用post方法,但是當我打印對象時它是以單位形式。POST請求澤西服務
我做這樣的事情 curl -X POST -H 'Content-Type: application/json' -d '{"distributors":{"distributorId":"5","name":"SA"}}' {path}
這裏的Java代碼:
package com.rest.resource;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "distributors")
public class Distributor
{
@XmlElement
private long distributorId;
@XmlElement
private String name;
public Distributor()
{
}
public Distributor(final long distributorId,final String name)
{
this.distributorId = distributorId;
this.name = name;
}
@Override
public String toString()
{
return "distributors: {distributorId = " + distributorId + ", name = " + name + "}";
}
}
方法在資源
@POST
@Path("")
public Response addDistributor(final JAXBElement<Distributor> element)
{
final Distributor distributor = element.getValue();
System.out.println(distributor);
return Response.status(200).entity(distributor.toString()).build();
}
感謝。
奇怪的是使用澤西1.3它完美對我來說,什麼1.4或在它上面似乎沒有正常工作。使用1.3,我在我的控制檯中獲得'發行商:{distributorId = 5,name = SA}'。 – Durandal
即使澤西島1.3也沒有任何變化.. – user1552879
如果我將'JAXBElement element'更改爲'分銷商分銷商',它對我有用。否則,我會得到:'JSONMappingException:找不到合適的構造函數' –
Durandal