从前到后:如何传递具有List属性的bean?

时间:2014-12-15 01:14:23

标签: java angularjs spring rest spring-mvc

我尝试通过在我的Back(Spring MVC)和我的Front(Angular)之间传递一个bean来测试我的web应用程序

这是Bean:

import java.util.List;

// liste des conférences choisies par un candidat
public class PartListFormDTO {

  private ParticipantDTO participant;
  private List<FormationDTO> listForm;

  public ParticipantDTO getParticipant() {
    return participant;
 }
 public void setParticipant(ParticipantDTO participant) {
    this.participant = participant;
 }
 public List<FormationDTO> getListForm() {
    return listForm;
 }
 public void setListForm(List<FormationDTO> listForm) {
    this.listForm = listForm;
 }
}

这是控制器:

   // formation List
  @RequestMapping(value = "/init", method = RequestMethod.GET)
  @ResponseBody
  public PartListFormDTO init() {
    return service.init();  
  }

init()将bean正确地发送到前面。 Chrome控制台:

 Object {participant: Object, listForm: Array[2]}
     listForm: Array[2]
        0: Object
        1: Object
     participant: Object

在我的阵线中,我立即发回它进行测试。

这是控制器:

    // formation book
@RequestMapping(value="/book", method=RequestMethod.POST)
@ResponseBody
public StatusResponse book(PartListFormDTO partListFormDTO) {
    return null;
    // return service.book(partListFormDTO);
}

Angular Service中的请求参数:

 $http({
            headers:{'Content-Type':'multipart/form-data'},
            //headers:{'Content-Type':'application/json;odata=verbose'},
            //headers:{'Accept': 'application/json, text/plain, */*',
            //        'Content-Type':'application/json; multipart/form-data; charset=utf-8'},
            method: 'POST',
            url: url,
            params: data
        })
            .success( function(data, status, headers, config) {
                defData.$resolve(data);
                $log.info(data);
            })

现在,您必须知道我的控制器中有其他方法可以正常工作。如果我发送一个没有List属性的bean,它就可以了!!  但是像我一样的列表的bean,它不起作用

public class PartListFormDTO {

  private ParticipantDTO participant;
  private List<FormationDTO> listForm;
   .....

我怎么能通过它?

0 个答案:

没有答案