Мы разрабатываем проект Java EE и нам необходимо предоставить веб-сервис RESTFul, использующий JSON.К сожалению, я не могу связать параметр JSON с объектом Java в запросе Http-POST.Не могли бы вы мне помочь?
Класс обслуживания:
@Path("claimserviceNew")
public class SlsiRestServicesNew {
@POST
@Consumes({"application/xml", "application/json"})
@Produces(MediaType.APPLICATION_JSON)
public String registerClaimWithPaymentNew( Mandant mandant, Vertrag vertrag){
return mandant.getCode() + " new ";
}
}
Класс Mandant:
@XmlRootElement(name="mandant")
@XmlAccessorType(XmlAccessType.FIELD)
public class Mandant {
@XmlAttribute(required=true)
private String code;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}
Класс Vertrag:
@XmlRootElement(name="vertrag")
@XmlAccessorType(XmlAccessType.FIELD)
public class Vertrag {
@XmlAttribute(required=true)
private String polizzenNummer;
public String getPolizzenNummer() {
return polizzenNummer;
}
public void setPolizzenNummer(String polizzenNummer) {
this.polizzenNummer = polizzenNummer;
}
}
Мои оба параметра JSON в моем HTTP-запросе на запись:
{ {
"code": "SLV"
},
{
"polizzenNummer": "1234"
}
}
Исключение на сервере:
Caused by: org.codehaus.jackson.JsonParseException: Unexpected character ('{' (code 123)): was expecting double-quote to start field name
at [Source: org.apache.catalina.connector.CoyoteInputStream@cce46; line: 1, column: 6]
at org.codehaus.jackson.JsonParser._constructError(JsonParser.java:1433) [jackson-core-asl-1.9.9-redhat-2.jar:1.9.9-redhat-2]