Я использую API RESTful PHP, который используется настольным приложением Java с использованием джерси 2.21.PHP RESTful API, доступ к данным клиента POST Джерси
Обычно, когда я отправить запрос POST от AngularJS, я могу получить доступ к данным с помощью:
$data = json_decode(file_get_contents("php://input"));
Однако, когда я использую Джерси, данные помещаются в $_POST
массив. Вот мой код Джерси:
final HashMap<String, String> params = // some hashmap with a few entries
ClientConfig config = new ClientConfig();
Client client = ClientBuilder.newClient(config);
MultivaluedMap formData = new MultivaluedHashMap(params);
WebTarget target = client.target(url);
// Get JSON
String jsonResponse = target.request(MediaType.APPLICATION_JSON_TYPE).post(Entity.entity(formData, MediaType.APPLICATION_FORM_URLENCODED_TYPE), String.class);
return jsonResponse;
Как отправить данные из Джерси, чтобы я мог получить к нему доступ через вышеуказанный вызов PHP?
Я знаю, что могу просто использовать массив $_POST
, но мне нужен этот API для использования из мобильного приложения, рабочего стола Java & приложение AngularJS.
Заранее спасибо
Угадайте намек. Ваша проблема - «MediaType.APPLICATION_FORM_URLENCODED_TYPE». –
Эй, @JonStirling, я думал, что это как-то связано с заголовком. Попытка выяснить, как настроить заголовки JSON сейчас. –
Опять же, предположение (я не использую java, не говоря уже о Джерси), но вы можете быть после 'MediaType.APPLICATION_JSON_TYPE', предполагая, что вы фактически передаете JSON, чего ожидает ваше приложение PHP. –