2017-04-26 22 views
1

angularjsからSpring MVCコントローラへの$ http.postメソッドを使用していくつかのデータを更新しようとしています。しかし、 "HTTP Status 405 - リクエストメソッド 'GET'はサポートされていません"というエラーが表示されます。私のコードスニペットは以下の通りHTTPステータス405 - リクエストメソッド 'GET'は、http:// http.postコールのエラーでサポートされていません。

データ= [{ ID:1、 名: 'foo' で }、データは以下の通りである

// AngularJSサービス

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

{ id:2、 名前: 'bar' }、{ id:3、 名前: 'baz' ]];

// Spring MVCのコントローラコード

@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";  
} 

私のコード内の任意のエラー?

+0

私はあなたのJSコード内の 'updateData'の前に '/'を追加し、リクエストが実際に送られたURLにF12ネットワーキングタブでチェックします。あなたのJavaコードはよく見えるので、期待どおりに動作するはずです。 –

+0

ok - それを試してみましょう – Sowmya

+0

No .... updateDataの前に/を追加すると404エラーが出ます。 – Sowmya

答えて

1

お客様のデータは、アレイフォーマットdata = [{ id: 1, name: 'foo' }, { id: 2, name: 'bar' },{ id: 3, name: 'baz' }];です。しかしあなたの@RequestBodyはオブジェクトしか持っていません。あなたのRequestBodyはリストでなければなりません。それだけ受け入れることができます

ですので、コードを@RequestBody Company companyから@RequestBody List<Company> companyに変更してください。私に教えてください

+0

List に変更した後は正常に動作します。ありがとうございました... – Sowmya

関連する問題