0

背景

@XmlRootElement
public class Person {
    private String firstName;
    private String lastName;

    ...//accessors
}


@Path("mypath")
 public class PersonResource{
   @POST
   @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response addPerson(JAXBElement<Person> jaxbPerson) {
      Person person = jaxbPerson.getValue();
       ...//logic etc.
   }     
}

PersonResource. addPerson承ります{"firstName":"Alfred","lastName":"Bell"}がお断りさせて頂き{"person":{"firstName":"Alfred","lastName":"Bell"}}ます。

そのため、次の問題があります。

問題:

与えられた

@XmlRootElement
public class car {
    private String maker;
    private String model;

   private AirBag airbag;
   private List<Tire> tires;

   @XmlElementWrapper(name = "tires")
   @XmlElement(name = "tire")
   public Set<Tire> get Tires() {
       return this.tires;
   }
    ...// more accessors
}


@Path("add-car")
 public class CarResource{
   @POST
   @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response addPerson(JAXBElement<Car> jaxbCar) {
       Car car = jaxbCar.getValue();
       ...//logic etc.
   }     
}

JAXBElement<Car> jaxbCarJSON を認識できるようにフォーマットするにはどうすればよいですか? 車には 4 つのタイヤとエアバッグが必要です。

詳細:

Jersey (Java REST-API)を使用しています。

4

1 に答える 1

0

オブジェクトを引数として addPerson() メソッドに送信してみてください

public Person  addPerson(Person person){

    Person fme = new Person ();
        ...
}

@XmlAccessorType(XmlAccessType.FIELD)そして、直前に追加することを忘れないでください@XmlrootElement

于 2012-10-13T23:36:13.597 に答える