【发布时间】:2021-03-20 17:06:20
【问题描述】:
当我没有从邮递员发送内容长度时,我在 Jersey POST API 中遇到问题。
@Path(value = "/upload")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public interface FileUpload {
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public void upload(@Context final HttpServletRequest request,
@Parameter(schema = @Schema(type = "string", format = "binary")) @NotNull @FormDataParam("file") InputStream modelInputStream,
@Parameter(hidden = true) @FormDataParam("file") FormDataContentDisposition modelFileFormDataContentDisposition)
throws IOException;
}
我们知道默认情况下邮递员发送内容长度(隐藏 标题),但我没有发送它。
当我通过内容长度时,一切正常。但是当我没有通过它时,我会给出以下异常
2020-12-09 14:51:36.951 错误 27356 --- [nio-8082-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] :Servlet.service() for servlet [dispatcherServlet] 抛出异常
java.lang.IllegalStateException: 无法处理零件为否 提供了多部分配置 org.apache.catalina.connector.Request.parseParts(Request.java:2801) ~[tomcat-embed-core-9.0.30.jar:9.0.30] 在 org.apache.catalina.connector.Request.getParts(Request.java:2769) ~[tomcat-embed-core-9.0.30.jar:9.0.30] 在 org.apache.catalina.connector.RequestFacade.getParts(RequestFacade.java:1098) ~[tomcat-embed-core-9.0.30.jar:9.0.30]
任何帮助将不胜感激!
谢谢
【问题讨论】:
-
clientConfig.setChunkedEncodingEnabled(false);您可以尝试将其设置为 false
-
你在用
HttpServletRequest做什么? -
@PaulSamsotha 我想从请求对象中获取内容长度,所以我使用
HttpServletRequest
标签: java spring spring-boot jersey postman