J'utilise Jersey/Java pour développer mes services REST. Je dois retourner une représentation XML pour mon CarStore:Http 204 erreur dans le service Web REST (Jersey)
@XmlRootElement
public class CarStore {
private List<Car> cars;
public List<Car> getCars() {
return cars;
}
public void setCars(List<Car> cars) {
this.cars = cars;
}
Voici mon objet Car:
@XmlRootElement
> public class Car {
private String carName;
private Specs carSpecs;
private Category carCategory;
public String getCarName() {
return carName;
}
public void setCarName(String carName) {
this.carName = carName;
}
public Specs getCarSpecs() {
return carSpecs;
}
public void setCarSpecs(Specs carSpecs) {
this.carSpecs = carSpecs;
}
public Category getCarCategory() {
return carCategory;
}
public void setCarCategory(Category carCategory) {
this.carCategory = carCategory;
}
}
Spécifications et catégorie sont énumérations comme ceci:
@XmlRootElement
> public enum Category {
SEDANS, COMPACTS, WAGONS, HATCH_HYBRIDS, SUVS, CONVERTIBLES, COMPARABLE;
}
Ma classe de ressource est :
@GET
@Produces({MediaType.APPLICATION_XML})
public CarStore getCars()
{
return CarStoreModel.instance.getAllCars();
}
Mon client jersey est:
WebResource service = client.resource(getBaseURI());
System.out.println(service.path("rest").path("cars").accept(
MediaType.APPLICATION_XML).get(String.class));
Je reçois Http 204 erreur sur l'accès alongwith exception client:
com.sun.jersey.api.client.UniformInterfaceException
Toutes les idées ? Merci !
EDIT: Je n'ai pas encore développé la classe de modèle ... J'ai juste initialisé quelques objets de voiture comme données factices et les ai mises dans la carstore. Montrer tous les cours ici serait très maladroit. BTW, désolé d'avoir écrit 204 Erreur .. c'est juste que je reçois une exception qui m'a amené à le penser.
Mais HTTP 204 n'indique pas une erreur. – Arvin