Конвертировать Apache Http в OkHttp android? - PullRequest
1 голос
/ 21 апреля 2020

Мне нужно преобразовать этот Apache http код:

HttpClient client = HttpClientBuilder.create().build();
HttpPost post = new HttpPost("https://fcm.googleapis.com/fcm/send");
post.setHeader("Content-type", "application/json");
post.setHeader("Authorization", "key=AIzaSyBSxxxxsXevRq0trDbA9mhnY_2jqMoeChA");

JSONObject message = new JSONObject();
message.put("to", "dBbB2BFT-VY:APA91bHrvgfXbZa-K5eg9vVdUkIsHbMxxxxxc8dBAvoH_3ZtaahVVeMXP7Bm0iera5s37ChHmAVh29P8aAVa8HF0I0goZKPYdGT6lNl4MXN0na7xbmvF25c4ZLl0JkCDm_saXb51Vrte");
message.put("priority", "high");

JSONObject notification = new JSONObject();
notification.put("title", "Java");
notification.put("body", "Notificação do Java");

message.put("notification", notification);

post.setEntity(new StringEntity(message.toString(), "UTF-8"));
HttpResponse response = client.execute(post);
System.out.println(response);
System.out.println(message);

Мне нужно использовать его, но с okHttp это возможно?

1 Ответ

2 голосов
/ 22 апреля 2020

Попробуйте это:

    JSONObject message = new JSONObject();
    message.put("to", "dBbB2BFT-VY:APA91bHrvgfXbZa-K5eg9vVdUkIsHbMxxxxxc8dBAvoH_3ZtaahVVeMXP7Bm0iera5s37ChHmAVh29P8aAVa8HF0I0goZKPYdGT6lNl4MXN0na7xbmvF25c4ZLl0JkCDm_saXb51Vrte");
    message.put("priority", "high");

    JSONObject notification = new JSONObject();
    notification.put("title", "Java");
    notification.put("body", "Notificação do Java");

    message.put("notification", notification);

    OkHttpClient client = new OkHttpClient();
    MediaType JSON = MediaType.parse("application/json; charset=utf-8");        

    RequestBody body = RequestBody.create(message.toString(), JSON);

    Request request = new Request.Builder()
        .url("https://fcm.googleapis.com/fcm/send")
        .addHeader("Authorization", "key=AIzaSyBSxxxxsXevRq0trDbA9mhnY_2jqMoeChA")
        .addHeader("Content-Type", "application/json; charset=utf-8")
        .post(body)
        .build();

    try (Response response = client.newCall(request).execute()) {
        System.out.println(response);
        System.out.println(message);
    }
...