我有一个RESTful API调用,如下所示:
http://xxxxx:9000/api/parameter/value?ecosystem_name=streaming_pipeline&ecosystem_key_name=kafka_brokers
当我通过postman或Swagger使用它时,哪个工作正常。当我在上面运行scalaj-http时:
val result = Http("http://xxxxxx:9000/parameter/value").params(Map(("ecosystem_name", "streaming_pipeline"), ("ecosystem_key_name", "kafka_brokers"))).asString
我得到了一个未找到的回复。当我只使用一个参数时,这可以与其他调用一起使用:
val result = Http("http://xxxxxx:9000/api/schemas/name").param("schema_name", schemaName).asString
为什么当我尝试使用多个参数时似乎失败了呢?我尝试过使用.param(...)。param(...)而不是.params也没有运气。
根据以下内容进行编辑:
scala> val result = Http("http://xxxxx:9000/parameter/value").params(Map("ecosystem_name" -> "streaming_pipeline", "ecosystem_key_name" -> "kafka_brokers")).asString
result: scalaj.http.HttpResponse[String] = HttpResponse(,404,Map(Content-Length -> Vector(0), Date -> Vector(Tue, 26 Jul 2016 17:53:49 GMT), Server -> Vector(Apache-Coyote/1.1), Status -> Vector(HTTP/1.1 404 Not Found)))
答案 0 :(得分:1)
我认为问题在于您没有正确初始化 owes.setAmountExtra(cursor.getString(1));
函数的Map[String,String]
参数。初始化Map的正确方法是:
params
所以你的获取请求看起来像这样:
val myMap = Map(key -> value, key2 -> value2)