Запрос JSON через охттп с Java и переполнением стека

Я использую okhttp lib с Java и PHP. Мой Java-клиент выполняет следующий код.

public class Connection {

public static final MediaType JSON = MediaType
.parse("application/json; charset=utf-8");

OkHttpClient client = new OkHttpClient();

String post(String url, String json) throws IOException {
RequestBody body = RequestBody.create(JSON, json);
Request request = new Request.Builder().url(url).post(body).build();
Response response = client.newCall(request).execute();
return response.body().string();
}public static void main(String[] args) throws IOException {
Connection example = new Connection();
String json = "{'input':'test'}";
String response = example.post("http://localhost/android_api/index.php", json);
System.out.println(response);
}
}

На стороне сервера я пытаюсь декодировать строку JSON с помощью следующего кода, но мой веб-сервис просто возвращает NULL.

<?php

$rawData = file_get_contents("php://input");
$json = json_decode($rawData);
var_dump($json);

?>

Что я не так делаю?

1

Решение

Во-первых, вы вызываете http-запрос в главном потоке, что приведет к ошибке. Таким образом, вы используете AsyncTask

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]