@art_guzev

Как отправить простой post запрос в классе Kotlin?

В приложении подключено firebase cloud messaging. Есть класс на kotlin, с помощью которого выводится token устройства.
package com.placeholder

import android.util.Log
import com.google.firebase.messaging.FirebaseMessagingService
import android.util.Log.d as d1

class MyFirebaseMessagingService : FirebaseMessagingService(){
    override fun onNewToken(token: String) {
        d1("TAG", "The token refreshed: $token")
    }
}


Как в этом же классе сделать POST запрос типа https://mydomain.com/post/?token=(токен устройства $token)?
Подключен volley.
  • Вопрос задан
  • 1071 просмотр
Решения вопроса 1
Ommonick
@Ommonick
qa+dev (scala, golang, ts/js, api, grpc)
Конкретно в классе - хз, но есть в Postman генератор кода для запросов (правда на Java)
раз
Unirest.setTimeouts(0, 0);
HttpResponse response = Unirest.post("http://host.ru:80/user/register")
.header("Content-Type", "text/plain")
.body("{\n \"firstName\": \"Conso\",\n \"insertToTestClient\": false,\n \"investEmailDomain\": true,\n \"isLegal\": false,\n \"lastName\": \"Barsukov\",\n \"middleName\": \"Medoedovich\"\n}")
.asString();

два
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "{\n \"firstName\": \"Conso\",\n \"insertToTestClient\": false,\n \"investEmailDomain\": true,\n \"isLegal\": false,\n \"lastName\": \"Barsukov\",\n \"middleName\": \"Medoedovich\"\n}");
Request request = new Request.Builder()
.url("http://host.ru:80/user/register")
.method("POST", body)
.addHeader("Content-Type", "text/plain")
.build();
Response response = client.newCall(request).execute();

просто вставляется где надо и работает. а там можно и разнести переменные и обернуть как надо.
Оно вроде обратно совместимое с kotlin, должно работать
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы