私はAPI用の簡単なFlaskバックエンドを持っていて、POSTをしたいと思っています。 私はエラーがわかりません - エラーメッセージが表示されますが、角度またはフラスコの問題があるかどうかはわかりません。私は私のフラスコに()request.get_jsonを試みたが、JSONでAngular2 POSTを作成する
{BadRequest} 400 BadRequestました:ブラウザ(またはプロキシ)は このサーバがで
Angular2コールを理解することができなかったことを、要求を送信し私service.ts:
import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import { Observable} from 'rxjs/Rx';
import { Headers } from '@angular/http';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
@Injectable()
export class NicksService {
private headers = new Headers({'Content-Type': 'application/json'});
nickUrl: string = "http://localhost:5000/nick";
constructor(private http: Http) { }
// Send the nick to the server to see if it is valid
checkNickValidity(nickName: string): Observable<string>{
return this.http.post(this.nickUrl, JSON.stringify({nick: nickName}), {headers: this.headers})
.map(this.extractData)
.catch(this.handleError)
}
フラスコバックエンド:
from flask_cors import CORS
from flask.ext.api import FlaskAPI
from flask import request
app = FlaskAPI(__name__)
CORS(app)
@app.route('/')
@app.route('/nick', methods=['POST'])
def check_nick():
try:
nick = request.json
if nick =='AmandaPanda':
return 'Good'
else:
return 'No nick found'
except:
return 'error'
if __name__ == '__main__':
app.run()
400は通常、要求が予期された形式ではないため、サーバーが要求を受け入れることができないことを意味します。コンテンツタイプ、リクエストパラメータ、URL、ヘッダーなどがあります。問題を特定するにはサーバーをチェックする必要があります。 – YuVi