如何解决List <JAXBElement <List <String >>>不允许api接受json作为发布有效负载
我有一个api接受发布请求,如下所示:
@SuppressWarnings("restriction")
@Path("my-postAPi")
@Consumes({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON })
@Produces({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON })
public class MyServiceImpl implements MyService {
private Authorizor authorizor;
private Validator validator;
private MyServiceBO MyServiceBo;
private static Logger logger = Logger.getLogger(MyServiceImpl.class);
@POST
@Consumes({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON })
@Produces({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON })
public Response createPOST( MyRequestType MyRequest,@QueryParam("PageOffset") String pageOffset,@QueryParam("PageLength") String pageLength,@HeaderParam("clientid") String userId) {
return performCreate(MyRequest,pageOffset,pageLength,userId);
}
}
课程如下:
@XmlRootElement(name="MyRequest")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "request_Type")
public class MyRequestType {
@XmlElement(name = "Name")
protected String name;
@XmlElement(name = "PhoneNumber")
protected String phoneNumber;
@XmlElement(name = "AltPhoneNumber")
protected String altPhoneNumber;
@XmlElement(name = "Address",required = true)
protected AddressType address;
@XmlElementRef(name = "profession",type = JAXBElement.class)
protected List<JAXBElement<List<String>>> profession;
}
当我向此发布api发送json请求时,它给出了错误消息:
[org.apache.cxf.jaxrs.utils.JAXRSUtils - Error deserializing input stream into target class MyRequestType,content type : application/json
但是当我从课堂上删除此profession
时,它会起作用:
@XmlElementRef(name = "profession",type = JAXBElement.class)
protected List<JAXBElement<List<String>>> profession;
我使用的是JAXB体系结构,并且上面的代码在语法上可能不正确,因为我粘贴了问题所需的代码部分,请告诉我是否需要更多信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。