Как получить body от post-запроса на java?

Пользователь

от christine , в категории: Java , 10 месяцев назад

Как получить body от post-запроса на java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от stephania , 9 месяцев назад

@christine 

Пользователь

от jaylen.trantow , 2 месяца назад

@christine 

Для получения body от post-запроса в Java можно воспользоваться классом HttpServletRequest. Вот пример кода, который демонстрирует, как получить body от post-запроса:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import javax.servlet.http.HttpServletRequest;
import java.io.BufferedReader;
import java.io.IOException;

public String getPostRequestBody(HttpServletRequest request) throws IOException {
    StringBuilder requestBody = new StringBuilder();
    BufferedReader reader = request.getReader();
    String line;
    
    while ((line = reader.readLine()) != null) {
        requestBody.append(line);
    }
    
    reader.close();
    
    return requestBody.toString();
}


Этот метод принимает объект HttpServletRequest, из которого можно получить InputStream для чтения body запроса. Мы используем BufferedReader для читения body по строкам и собираем его в StringBuilder. В конце возвращаем body в виде строки.


Пример использования:

1
2
3
4
5
6
7
8
@WebServlet("/example")
public class ExampleServlet extends HttpServlet {

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String requestBody = getPostRequestBody(request);
        System.out.println(requestBody);
    }
}


Помните, что код приведен для использования в сервлетах Java (Servlets). Если вы используете другие технологии для обработки запросов, то подход может отличаться.