Я новичок в Finatra и scala. Мне нужно сохранить ip-адрес с другими данными в почтовом запросе. Я использую пользовательский класс класса: case class MyRequest(name : String, email: String)
Как я могу получить удаленный адрес в этом запросе? Спасибо заранее.Scala - Finatra - Чтение ip-адреса из заголовка
0
A
ответ
0
Кажется, вы не можете. Если ваш тип запроса является обычным классом case. Возможно, вы можете сделать что-то вроде следующего, и использовать Джексон для десериализации запрос на свой собственный случае класс:
post("/{your-api-path}/") {
r: Request =>
val remoteIP = r.remoteHost
val myRequest = objectMapper.readValue(r.contentString, classOf[MyRequest])
...
}
1
Я просто найти его в document, вы можете реализовать ваш случай класс выглядит следующим образом:
case class MyRequest (
request: Request,
name : String,
email: String
)
и request
является тип com.twitter.finagle.http.Request
, так что вы можете получить доступ к remoteAddress таким образом:
post("/[your-api]") { r: MyRequest
val ip = r.request.remoteAddress
}