Httpservlectrequest не может хранить корпус запроса, когда тип контента является многоуправляемым/смешаннымJAVA

Программисты JAVA общаются здесь
Anonymous
Httpservlectrequest не может хранить корпус запроса, когда тип контента является многоуправляемым/смешанным

Сообщение Anonymous »

Я пытаюсь улучшить свое приложение Springboot для поддержки партийной обработки. Ниже код обрабатывает входящие вызовы API < /p>

Код: Выделить всё

@Operation(summary = "OData service exposed by it.")
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "Service is running.",
content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
schema = @Schema(implementation = String.class))}),
@ApiResponse(responseCode = "500", description = "Internal server error.",
content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
schema = @Schema(implementation = ErrorDetails.class))})})
@RequestMapping(value = "**")
void process(HttpServletRequest request, HttpServletResponse response) throws IOException {
if (request.getInputStream().available() > 0) {
System.out.println("Input Stream data present");
}
}
< /code>
Я использую свой звонок API от почты, как ниже: < /p>
curl --location --request POST 'http://localhost:8084/api/v1/inv/$batch' \
--header 'Content-Type: multipart/mixed;boundary=abc123;' \
--data-raw '--abc123
Content-Type: application/http
Content-Transfer-Encoding: binary

GET http://localhost:8084/api/v1/inv/Port_Type HTTP/1.1

--abc123
Content-Type: application/http
Content-Transfer-Encoding: binary

GET http://localhost:8084/api/v1/inv/Device_Type HTTP/1.1

--abc123--
'
В моем коде Java request.getInputStream (). Доступный () всегда возвращает 0. Он работает для обычного запроса API, кроме Multipart/Mixed. GetInputStream () уже был вызван для этого запроса
Вот обновленный код:

Код: Выделить всё

    public void process(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
BufferedReader reader = request.getReader();

}
выглядит как getInputStream () вызывается еще до достижения контроллера

Подробнее здесь: https://stackoverflow.com/questions/795 ... s-multipar

Вернуться в «JAVA»