私は次のプロジェクトをダウンロードしました:http://www.asp.net/web-api/overview/security/individual-accounts-in-web-api。私はそれをVS2015で実行し、IISは表現します。プロジェクトは問題ありませんが、私はAPIを角2で呼びたいと思っています。APIモデルへの角2、typescript投稿はnullです
私はVisual Studio Codeでプロジェクトをセットアップし、Angular 2とTypeScriptでプロジェクトを作成しました。 Registerという名前のAPIメソッドに投稿しようとすると、値はnullになりますか?
私のVisual Studioのコードサービス(Angular2)
import { Injectable } from 'angular2/core';
import { Account } from '../account/Account';
import { RegisterBindingModel } from '../account/RegisterBindingModel';
import {Http, Response, Headers, RequestOptions} from 'angular2/http';
import {Observable} from 'rxjs/Observable';
import 'rxjs/Rx';
@Injectable()
export class AccountService {
constructor(private _http: Http) {
}
createAccount(account: Account): Observable<string> {
console.log('accountService.createAccount');
let body = JSON.stringify({ account });
console.log('T1' + body);
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this._http.post('https://localhost:44305/api/Account/Register', body, options)
.map(this.extractData)
.catch(this.handleError);
サーバーAPIエラー: Error2_In_API_Method
私はGET操作を実行できますが、すべてのPOST操作はNULLですか?
[FromBody]属性を追加してみてください: 'Register [FromBody] RegisterBindingModel model) ' –
は、アカウントを文字列化せず、そのまま本体のパラメータinsttreadとして渡します。 – harishr
- Register([FromBody] RegisterBindingModelモデル)を追加すると、APIで同じエラーが発生します。オブジェクトパラメータはそこにありますが、それらはすべてNULLです。 - stringify操作を使用せず、アカウントをポストするだけの場合、穴オブジェクトはNULLです。 – Benjamin