REST Web サービスのラッパーを作成していて、厳密に型指定された Scala API が必要です。
以下は、私がこれまでに行っていることです。
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.
*/
...
}
このアプローチは機能していますが、parameters
マップを手動で生成する必要があります。パラメータとその値を表す Map にアクセスできれば、私がやっていることはずっときれいになります。