Я пытаюсь получить доступ к API, созданный JHipster, который я загрузил на Heroku, через приложение IOS Swift. Приложение JHipster защищено OAuth2. В основном я хочу реализовать функцию регистрации, когда я предоставляю учетные данные (адрес электронной почты, логин и пароль) в приложении IOS, а затем вызываю путь /api/register
в приложении JHipster для регистрации этого пользователя. Но когда я делаю запрос Swift Alamofire, он дает мне код статуса 500 при попытке позвонить /api/register
.500 Внутренняя ошибка сервера в приложении JHipster Heroku Oauth2 при доступе через Swift Alamofire
Мой JHipster приложение на Heroku: https://j-hipster-test-apiios.herokuapp.com
My Swift 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
Итак, главный вопрос: почему я получаю код состояния 500, когда я вызываю путь /api/register
моего Jiipster api?
Заранее благодарен!
Если вы получили сообщение об ошибке 500, это означает, что у вас есть исключение, заброшенное в вашем приложении jhipster, поэтому я думаю, что вы не смотрите на правильный журнал. Также он работает, когда вы запускаете свой api локально, не развернутый на Heroku? –
Функциональность регистра работает нормально при использовании клиентского приложения JHipster, но при использовании запроса curl или Swift я получаю код состояния 500 и: '{" message ":" error.internalServerError "," description ":" Внутренняя ошибка сервера "," fieldErrors ": null}', также при запросе его локально. –
запустите это с помощью профиля профиля или служб агрегирования журналов, таких как ELK, чтобы получить исключение. Или манипулируйте услугами переводчика исключений, чтобы поместить сообщение в errorVM вместо «Internal server error», как сейчас –