2017-04-26 1 views
1

Ich versuche, einige Daten mit $ http.post Methode von angularjs zu Spring MVC-Controller zu aktualisieren. Aber ich bekomme Fehler als "HTTP-Status 405 - Request-Methode 'GET' nicht unterstützt". Mein Code-Schnipsel sind wie folgt:

// AngularJS Dienst

updateData : function(data) { 
    return $http.post('updateData', data).then(
       function(response){ 
       // success callback 
       return response; 
       }, 
       function(response){ 
       // failure callback 
       return response; 
       } 
    ); 
} 

wo Daten als unten:

data = [{ id: 1, Name: 'foo' }, { id: 2, Name: 'bar' }, { id: 3, Name: 'baz' }];

// Spring MVC-Controller-Code

@RequestMapping(value="/updateData", method = RequestMethod.POST) 
public @ResponseBody String updateData(@RequestBody Company company) throws Exception { 
    // I have created POJO for company with id and name getter-setter 
    // logic to update the data in db 
    //System.out.println(company.getName()); 
    return "success";  
} 

Jeder Fehler in meinem Code?

+0

Ich würde ein '/' vor 'updateData' in Ihrem JS-Code hinzufügen und überprüfen Sie über F12 Netzwerk-Registerkarte, zu welcher URL die Anfrage tatsächlich gesendet wird. Ihr Java-Code sieht gut aus und sollte daher wie erwartet funktionieren. –

+0

ok - lass mich das versuchen – Sowmya

+0

Nein .... Hinzufügen/vor updateData gibt mir 404 Fehler. – Sowmya

Antwort

1

Ihre Daten sind ein Array-Format data = [{ id: 1, name: 'foo' }, { id: 2, name: 'bar' },{ id: 3, name: 'baz' }];. Aber dein @RequestBody hat nur ein Objekt. Ihr RequestBody sollte eine Liste sein. Dann kann es nur akzeptieren

So bitte ändern Sie Ihren Code von @RequestBody Company company zu @RequestBody List<Company> company. dann lass es mich wissen

+0

Gut funktioniert nach dem Wechsel zu Liste . Vielen Dank... – Sowmya

Verwandte Themen