Tôi đang viết một trình bao bọc cho một dịch vụ web REST và tôi muốn có các API Scala được đánh mạnh mẽ.Có thể có một Map [String, Any] với tên và các giá trị của các tham số có tên trong Scala không?
Sau đây là những gì tôi đang làm cho đến nay:
def getMentions(count: Option[Int] = None,
sinceID: Option[TweetID] = None,
maxID: Option[TweetID] = None,
trimUser: Option[Boolean] = None,
contributorDetails: Option[Boolean] = None,
includeEntities: Option[Boolean] = None) : List[Tweet] = {
val parameters = Map("count" -> count,
"since_id" -> sinceID,
"max_id" -> maxID,
"trim_user" -> trimUser,
"contributor_details" -> contributorDetails,
"include_entities" -> includeEntities)
/*
* Convert parameters, which is a Map[String,Any] to a Map[String,String]
* (Removing Nones) and pass it to an object in charge of generating the request.
*/
...
}
Cách tiếp cận này đang làm việc, nhưng nó đòi hỏi tôi phải tự tạo ra bản đồ parameters
. Nếu tôi có thể truy cập vào một Bản đồ đại diện cho các thông số và giá trị của chúng, những gì tôi đang làm sẽ sạch hơn nhiều.
Bạn có biết liệu có thể sử dụng nó với sbt không? – mariosangiorgio
Tôi đã tìm ra. Nó chỉ đơn giản là yêu cầu thay đổi phiên bản scala 'scalaVersion: =" 2.10.0-RC2 "' và nhập khẩu ' ngôn ngữ nhập khẩu.experimental.macros' trong các tệp bằng tính năng – mariosangiorgio