2012-12-24 70 views
1

我一直在研究Android設備上使用的Spring RESTful應用程序。我試圖發送POST請求時發生問題。我的對象在服務器端收到,但所有屬性均爲空。RestFul使用Spring POST方法

我的控制器:

@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); 

沒有任何一個有什麼可能會造成這個問題的想法?

+0

您知道實際上發送了什麼郵件嗎? – dmon

+0

我正在發送該預留對象。我在做什麼有什麼不對?我使用XML btw –

+0

好吧,很難從代碼中知道,第一步是要知道數據是否正在序列化。 – dmon

回答

0

從給出的信息我不能推斷出什麼問題。要了解我會進行如下操作:

  1. 在調試模式下運行服務器,並設置一個斷點上的addReservation
  2. 第一線觀察,如果reservation參數是你希望它是什麼
  3. 如果沒有,請檢查客戶端發送的POST請求,要麼是on the device or with Fiddler/Wireshark