Spring Boot RestController - PostMapping - 将请求正文作为 InputStream 处理

标签 spring rest spring-boot post

这个问题在这里已经有了答案:





How to get raw binary data from a POST request processed by Spring?

(2 个回答)


9 个月前关闭。




在 Spring Boot RestController 中使用 PostMapping 时,是否有一种简单的方法可以将 POST HTTP 请求的正文作为 InputStream 处理?

接受来自 Multipart HTTP POST 请求的文件上传作为 MultipartFile 实例非常简单,但我希望能够简单地将二进制内容发布到 HTTP 端点并将其作为 InputStream 处理。

这可以用 Spring Boot 吗?

例如使用以下 Postman POST:

enter image description here

最佳答案

我知道两种可能的方法

取HttpEntity

@PostMapping
public ResponseEntity<String> post(HttpEntity<byte[]> requestEntity) {
    return ResponseEntity.ok(new String(requestEntity.getBody()));
}

获取整个请求
@PostMapping
public ResponseEntity<String> post(HttpServletRequest request) {
    request.getInputStream();
}

关于Spring Boot RestController - PostMapping - 将请求正文作为 InputStream 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59799990/

相关文章:

java - Bean 忽略请求正文中的额外值

Spring @Retryable - 调用时如何记录?

http - 登录和重定向 : What is the best HTTP flow for a webapp login?

asp.net - 在 .ashx 文件中接收 POST 数据

java - 限制在 Spring (Boot) 中调用方法的线程数

spring-boot - 如何将 "book"添加到/shelves/1/books

java - Spring 中 DynamoDB 的事务策略

java - Spring Security、Rest 身份验证和 CSRF

spring - 是否有使用其他Spring版本的简单方法?

rest - 使用 Angular 前端和 Drupal 7 后端处理 CSRF/XSRF token