使用Mashape api与Volley或HttpURLConnection



谁能指出我在正确的方向或演示如何使请求Mashape使用API密钥没有Unirest?

我希望简单地使用HttpURLConnection类或Android REST库(如OkHttp或Volley)向Mashape API发出JSON请求,但我不知道如何构建请求,或者如果不使用Mashape的Unirest库甚至可能。

他们建议这样创建Unirest请求:

HttpResponse<JsonNode> response = Unirest.get("https://wordsapiv1.p.mashape.com/words/incredible/definitions")
  .header("X-Mashape-Key", "**********apikey************")
  .header("Accept", "application/json")
  .asJson();

我尽量避免Unirest,因为它似乎是一个痛苦的设置,因为伟大的CommonsWare自己说Unirest应该避免Android:有没有人有一个android工作室项目的例子,通过gradle导入Unirest ?

我实际上试图使用相同的api和相同的情况下,初学者在这个问题:尝试使用Unirest在Android上获取JSON

我相信,我的答案就是你正在寻找的。

我使用的是Volley库,你需要添加一个依赖项:compile 'com.android.volley:volley:1.0.0'

RequestQueue requestQueue = Volley.newRequestQueue(this);
String uri = Uri.parse("https://wordsapiv1.p.mashape.com/words/incredible/definitions")
    .buildUpon()
    .build().toString();
StringRequest stringRequest = new StringRequest(
    Request.Method.GET, uri, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            Log.d("MainActivity", "response: " + response);
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.e("VolleyError", error.toString());
        }
    }) {
        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            Map<String, String>  params = new HashMap<>();
            params.put("X-Mashape-Key", "<API_KEY>");
            params.put("Accept", "text/plain");
            return params;
        }
    };
    requestQueue.add(stringRequest);

相关内容

  • 没有找到相关文章

最新更新