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