在Java中,可以使用Servlet或Spring框架來獲取POST請求的請求體。
在Servlet中重寫doPost方法,通過HttpServletRequest對象的getInputStream方法獲取請求體的輸入流。
使用IO流的方式讀取輸入流中的數據。
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
BufferedReader reader = req.getReader();
StringBuilder requestBody = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
requestBody.append(line);
}
// requestBody.toString()即為請求體內容
}
@PostMapping("/api")
public String handlePostRequest(@RequestBody String requestBody) {
// requestBody即為請求體內容
}
或者,使用對象來接收請求體的內容。
public class RequestBodyDto {
private String param1;
private int param2;
// getters and setters
}
@PostMapping("/api")
public String handlePostRequest(@RequestBody RequestBodyDto requestBodyDto) {
// requestBodyDto即為請求體內容的映射對象
}
以上是兩種常見的獲取POST請求的請求體的方法。根據具體的應用場景和框架選擇適合自己的方式。