1
私のAPIの完全な機能の結果を検証したい場合、レスポンスはStringをJson型に変換できないときにnullを生成し、nullを生成したくありませんしかし、言う:「が見つかりません」、これが私のルートである:それは常にそれがBDでの値とヌルいないときを取得するときにJSON応答、状態の中、他に入るので、検証する方法AKKA-HTTPで完了
val route = pathPrefix("auth") {
path("signIn") {
pathEndOrSingleSlash {
post {
entity(as[LoginPassword]) { loginPassword =>
val a = signIn(loginPassword.login, loginPassword.password).map(_.asJson)
if(signIn(loginPassword.login, loginPassword.password).map(_.asJson) == null){
complete(states.map(_.asJson))
}else {
def getObject : Option[Any] = Option(signIn(loginPassword.login, loginPassword.password).map(_.asJson))
val ahh = signIn(loginPassword.login, loginPassword.password).map(_.asJson)
if(getObject.isEmpty || getObject == null){ ///////NOT FOUND
complete("Not Found")
}else {
complete(signIn(loginPassword.login, loginPassword.password).map(_.asJson)
}
//complete(signIn(loginPassword.login, loginPassword.password).map(_.asJson))
}
}
}
}
}
これは、動作しません。
def signIn(login: String, password: String): Future[Option[TokenEntity]] = {
db.run(users.filter(u => u.username === login).result).flatMap { users =>
users.find(user => Bcrypt.validate(password, user.password)) match {
case Some(user) => db.run(tokens.filter(_.userId === user.id).result.headOption).flatMap {
case Some(token) => Future.successful(Some(token))
case None => createToken(user).map(token => Some(token))
}
case None => Future.successful(None)
}
}
}
機能サインは、私が使用してJSONライブラリは、次のとおりです。Json
いくつかの助け?ありがとう。
これはsignIn' 'の署名を知らなくても答えることは非常に難しい質問です使用しているJSONライブラリ'states'値もどこからも出てきません。また、なぜ 'signIn'を何度も呼びますか? – acjay