HttpClient Get возвращает 200, но Post возвращает 404 - PullRequest
0 голосов
/ 27 марта 2019

Я использую HTTP-клиент Apache для выполнения вызовов Get и Post на одну и ту же конечную точку.Get возвращает 200 OK, но сообщение возвращает 404 Not Found.Есть идеи?Моя установка выглядит следующим образом:

 HttpClient client = HttpClients.createDefault();
 String key = "foo"

 HttpGet httpGet = new HttpGet("https://url");
 HttpResponse response1 = client.execute(httpGet);
 System.out.println(response1.getStatusLine());
 HttpEntity entity1 = response1.getEntity();
 EntityUtils.consume(entity1);
 // Returns 200 OK

 String bundle = "{\"foo\":\"bar\"}";
 HttpPost httpPost = new HttpPost("https://url");
 StringEntity requestEntity = new StringEntity(
     bundle,
     "application/json",
     "UTF-8");
 httpPost.setEntity(requestEntity);
 HttpResponse response2 = client.execute(httpPost);
 System.out.println(response2.getStatusLine());
 HttpEntity entity2 = response2.getEntity();
 EntityUtils.consume(entity2);
 // Returns 404 Not Found

1 Ответ

0 голосов
/ 27 марта 2019

Убедитесь, что один и тот же URL вашего сервера принимает и POST, и GET, возможно, потому что конечная точка сервера обрабатывает POST и GET как разные маршруты и принимает только GET, возвращая 404 вВаш POST запрос.Так что это проблема не вашего http-клиента, а сервера.

...