HeriftでアップロードしたJHipsterで生成されたAPIにアクセスしようとしています。 JHipsterアプリはOAuth2で保護されています。基本的に私はIOSアプリケーションで資格情報(電子メール、ログイン、パスワード)を提供し、このユーザーを登録するためにJHipsterアプリの/api/register
パスを呼び出す登録機能を実装したいと考えています。しかし、Swift Alamofireリクエストを行うと、/api/register
に電話しようとすると、ステータスコード500が返されます。500 JHipster Heroku Oauth2アプリケーションの内部サーバーエラーSwift Alamofire経由でアクセスする場合
マイJHipster Herokuのにアプリ: https://j-hipster-test-apiios.herokuapp.com
マイスウィフトAlamofire要求:
class RegisterViewController: UIViewController {
let parameters: Parameters = [
"login": "Hello",
"password": "World",
"email": "[email protected]"
]
@IBAction func register(_ sender: UIButton) {
let sessionManager = SessionManager()
sessionManager.request("https://j-hipster-test-apiios.herokuapp.com/api/register", method: .post, parameters: parameters).validate().responseJSON { response in
print("----------------------------")
print(response)
print("----------------------------")
sessionManager.session.invalidateAndCancel()
}
}
マイXcodeのログ(responseValidationFailedエラーが要求後.validate()メソッドによって引き起こされ、そのため)200と299の間でステータスコードを見込ん:
FAILURE:
responseValidationFailed(Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode(500))
私のHerokuのログ:
2016-11-04T17:38:36.148902+00:00 heroku[router]: at=info method=POST path="/api/register"
host=j-hipster-test-apiios.herokuapp.com request_id=7a1e1345-a8a5-43f2-abbc-4805037a47ef
fwd="93.210.40.139" dyno=web.1 connect=0ms service=13ms status=500 bytes=317
したがって、私のJHipster APIの/api/register
パスを呼び出すと、500ステータスコードが表示されるのはなぜですか?
ありがとうございます!
エラー500が表示された場合、あなたのjhipsterアプリに例外がスローされたことを意味します。正しいログは見ていないと思います。また、Herokuに展開されていないAPIをローカルで実行しても機能しますか? –
JHipsterで提供されているクライアントアプリケーションを使用しているときにレジスタの機能はうまく動作しますが、curlまたはSwiftのリクエストを使用すると、ステータスコード500と '{" message ":" error.internalServerError "、" description ":" Internal server error "、" fieldErrors ":null}'を返します。 –
これをdevプロファイルまたはELKのようなログ集約サービスで実行して、例外を取得します。または、例外翻訳者サービスを操作して、 "Internal server error"の代わりにerrorVMにメッセージを入れてください。 –