私は、Android デバイスから消費される Spring RESTful アプリケーションに取り組んできました。POST リクエストを送信しようとすると、問題が発生します。オブジェクトはサーバー側で受信されますが、すべての属性が null です。
私のコントローラー:
@Controller
public class BeanController {
@Autowired
private ReservationService reservationService;
@RequestMapping(value = "reservation/add/{dateR}", method = RequestMethod.POST)
public ModelAndView addReservation(@RequestBody Reservation reservation, @PathVariable String dateR) {
Date date = Date.valueOf(dateR);
boolean result = reservationService.saveReservation(reservation,date);
return new ModelAndView("beanXmlView", BindingResult.MODEL_KEY_PREFIX + "reservation", result);
}
}
クライアント側では、オブジェクト属性が設定されていることを確認します。
私のクライアント側:
Reservation reservation = new Reservation();
reservation.setDateReservation(Model.date);
reservation.setSalle(Model.salle);
if(Model.selectedEquipements.size() == 0)
reservation.setEquipements(new ArrayList<Equipement>());
else reservation.setEquipements(Model.selectedEquipements);
reservation.setPlagesHoraires(Model.selectedPlageHoraires);
reservation.setUtilisateur(user);
final String url = "http://10.0.2.2:8080/HibernateSpringREST/";
RestTemplate restTemplate = new RestTemplate();
// Add the Jackson and String message converters
restTemplate.getMessageConverters().add(new StringHttpMessageConverter());
restTemplate.getMessageConverters().add(new SimpleXmlHttpMessageConverter());
// Make the HTTP POST request, marshaling the request to JSON, and the response to a String
restTemplate.postForObject(url + "reservation/add/"+Model.date, reservation, Reservation.class);
この問題の原因について考えている人はいますか?