私はangular 2を初めて使用し、解決策を見つけることができない問題に直面しています:angular 2からAPIに投稿しようとすると、 -415サポートされていないメディアタイプ。
Angular 2コード:
onSubmit(value: any) {
// console.log(value.message);
let headers = new Headers({ 'Content-Type': 'application/json'});
let options = new RequestOptions({ headers: headers });
let creds = 'statusuknown';
let body = JSON.stringify(creds);
this.http.post('http://localhost:1318/api/ActionItem', creds)
.subscribe(
() => {console.log('Success')},
err => {console.error(err)}
);
}
そして私のコントローラーコード:
// POST api/actionitem
[HttpPost]
public ActionItem Post( [FromBody]string str)// _id, string _status)
{
ActionItem item = new ActionItem( 313, str);
return item;
}
本体からデータを取得しないようにコントローラーコードを変更すると、機能しますがNULLを参照します。
httpリクエストでもヘッダーと本文を使用します。 creadでは、onSubmit関数の値パラメーターを使用します。
次のコードを使用
let creds=JSON.Stringify(value);
this.http.post('http://localhost:1318/api/ActionItem', creds, options)
.map((res: Response) => res.json()).subscribe(res => {
this.result = res;
console.log(this.result);
});