我是新來的Finatra和斯卡拉。我需要在發佈請求中存儲另一個數據的IP地址。我正在使用自定義案例類: case class MyRequest(name : String, email: String)
如何在此請求中獲取remoteAddress? 在此先感謝。斯卡拉 - Finatra - 從標題讀取ip地址
0
A
回答
0
看來你不能。如果您的請求類型是自定義案例類。也許你可以不喜歡以下內容,使用傑克遜deserialisation請求自己的案例類:
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
}