2016-07-23 8 views
1

Ich bin neu zu angularjs. Ich versuche eine Anfrage von angularjs an den Federcontroller zu stellen. Das Anforderungsobjekt wird ordnungsgemäß in eckig protokolliert, erreicht aber im Controller den Wert Null.Post Anfrage von angularjs zu Feder mvc Controller

Ich habe durch die ähnlichen Fragen gewesen, aber sie nicht für mich gearbeitet haben:

getting null using angular post

angularjs-spring-mvc-json-post-request

spring-angularjs-receiving-null-data-on-server

Controller.js:

$scope.addExpense = function (expense) { 
     console.log("Received"+expense.amount+expense.description); 

     var expenseDetail = { 
      description:expense.description, 
      amount:expense.amount, 
      created:'', 
      updated:'', 
     }; 

     console.log("expense detail : "+JSON.stringify(expenseDetail)); 

     $http({ 
      method : 'POST', 
      dataType: 'json', 
      url  : 'addExpense1', 
      data : JSON.stringify(expenseDetail), 
      headers: { 
       "Content-Type": "application/json" 
      } 
     }).success(function (response) { 
      console.log(response.data); 
     }).error(function(response){ 
      console.log("Error : "+response.data); 
     }); 
    }; 

-Controller-Methode:

@RequestMapping(value = "addExpense1", method = RequestMethod.POST) 
@ResponseBody 
public List<ExpenseDetail> addExpense1(@RequestBody ExpenseDetailDTO expenseDetailDTO) { 
    LOG.info("Request to add description : " + expenseDetailDTO.getDescription()); 
    if(expenseDetailDTO==null || expenseDetailDTO.getDescription()==null || expenseDetailDTO.getAmount()==null) 
     return null; 
    expenseService.addExpense(expenseDetailDTO); 

    List<ExpenseDetail> expenseDetails = expenseService.getAllForToday(); 
    LOG.info("Expense Details fetched : " + expenseDetails.size()); 
    return expenseDetails; 
} 

Auf Controller folgendes Protokoll gedruckt wird:

Request to add description : null 

Ich bin nicht Fehler immer überall. Bitte helfen Sie mir aus.

+0

hilft How u dies gelöst ..? – Hema

Antwort

0

Ich hatte ähnliches Problem in der Vergangenheit mit Feder webmvc.

https://github.com/sombriks/rango-vote-spring/blob/master/src/main/java/rango/vote/RangoVoteController.java

Was in meinem Fall gelöst war die Zugabe von jackson-databind Abhängigkeit und die richtige Konfiguration:

https://github.com/sombriks/rango-vote-spring/blob/master/build.gradle#L54

https://github.com/sombriks/rango-vote-spring/blob/master/src/main/webapp/WEB-INF/applicationContext.xml#L29

Wenn möglich, bevorzugen Feder + Trikot über Frühling webmvc, da Sie jaxb verwenden können, um Ihre Datenobjekte korrekt zuzuordnen:

http://pastebin.com/TVsrJJm7

http://pastebin.com/jE7z1u3k

http://pastebin.com/39QDBgQD

Hoffe, dass es