私はこれのための解決策を見つけようとしましたが、すべてのものは以前のバージョンのASP.Net用です。ASP.NetのJSON投稿データを読んでください。コアMVC
私はJWT認証ミドルウェアと連携し、以下の方法で持っている:それはフォームデータであるかのように、これは、送信されたデータを取得しますが、私の角度2フロントエンドがJSONとしてデータを送信している
private async Task GenerateToken(HttpContext context)
{
var username = context.Request.Form["username"];
var password = context.Request.Form["password"];
//Remainder of login code
}
を。
login(username: string, password: string): Observable<boolean> {
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
let body = JSON.stringify({ username: username, password: password });
return this.http.post(this._api.apiUrl + 'token', body, options)
.map((response: Response) => {
});
}
私の好みの解決策は、JSONとして送信することですが、データの取得に失敗しました。私はそれが送信していることを知っています。私はそれをフィドラーで見ることができるからです。そして、私がPostmanを使用してフォームデータを送信すればうまくいきます。
基本的に私はちょうどあなたがここに何ができるかを要求ストリームがすでに読み込まれている、それはあなたのミドルウェアになる頃には、JSONデータ
var username = context.Request.Form["username"];
あなたはちょうどあなたがJSON –
のContent-Type 'アプリケーション/ X-WWW-フォームurlencoded'とちょうどURLエンコードを使用する機能にログイン切り替わらないなぜ私は全体をしたいと思いますフロントエンドはjsonを使用するのではなくjsonを送信できるようになり、いくつかはフォームデータを使用します。実際にこのルートを試してみましたが、データをフォームデータとして正しく送信するのは苦労していました。例を挙げても、私は両者が正しく話すことができませんでした。 – Jhorra
あなたはこれを行うだけではいけませんか? 'encodeURIComponent(JSON.stringify({username:username、password:password}));' –