2016-09-01 14 views
0

私は現在、私の春のバックエンドに私のAngular2アプリケーションに投稿要求を送信させようとしていますが、私は絶えず400エラーを受け取ります。 Angular2フロントエンドに角2と春のポスト要求を取得する

サービス:

createEntry(name: string, url: string){ 
    let body = JSON.stringify({sid:null,entryName: name, entryUrl: url, dtcreated:null}); 
    console.log(body); 
    return this.http.post(environment.serviceURL + 'createentry', body, {headers: this.getHeaders()}) 
     .map(res => {return res.json();}); 
} 
getHeaders(){ 
    let headers = new Headers(); 
    headers.append('Content-Type', 'application/json'); 
    return headers; 
} 

春バックエンド:

@RequestMapping(value="/createentry", method=RequestMethod.POST) 
@ResponseBody 
public ListEntry createEntry(@RequestParam(value = "entry") ListEntry entry){ 
    System.out.println(entry.getEntryName()); 
    System.out.println(entry.getEntryUrl()); 
    entry.setDtCreated(Calendar.getInstance().getTime()); 
    return listRepository.save(entry); 
} 

私は私のブラウザでコンソールから取得していますエラーは次のとおりです。

POST http://localhost:8001/createentry 400( )

答えて

1

だから、それはかなり単純な修正であることが判明しました。

私はちょうど

public ListEntry createEntry(@RequestBody ListEntry entry)

public ListEntry createEntry(@RequestParam(value = "entry") ListEntry entry)

を変更しなければならなかったし、それはすぐに作業を始めました。どうやらSpringでは@RequestBodyがすべてのPOSTリクエストとPUTリクエストに使用され、@RequestParamsはGETリクエストに使用されます。

関連する問題