Angular2からASP.NET Web APIエンドポイントにhttpポストを実行してレコードを挿入しようとしています。 Angularではオブジェクトにデータが含まれていますが、エンドポイントに到達するとデータはありません。それはnullです。このコードで私が間違っていることが分かりますか?Web APIオブジェクトは、POSTを使用してAngular2から送信されるとnullです。
角度:角度2でHTTPクライアントを使用している場合
public addBook (body: Object): Observable<Book[]> {
let bodyString = JSON.stringify(body); //stringify payload
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
// post request to create new book
return this._http.post(this.actionUrl,bodyString,options)
.map((res:Response) => res.json())
.catch((error:any) => Observable.throw(error.json().error || 'Server error'));
}
ASP.NETのWeb API
// POST: api/Books
[System.Web.Http.HttpPostAttribute]
[HttpOptions]
[ResponseType(typeof(Book))]
public async Task<IHttpActionResult> PostBook(Book book)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.Books.Add(book);
await db.SaveChangesAsync();
return CreatedAtRoute("DefaultApi", new { id = book.Id }, book);
}
全く同じではありません。この例では、ObservableではなくPromiseを使用しています。しかし、同じ問題かもしれないが、わからない。 – Rich