在Spring Boot中点击Controller组件之前,如何操作Content-Type请求标头



我们最近将运行在python上的RESTful API迁移到了Java,Spring Boot。它是一个GET端点。一旦迁移,我们就会观察到";内部服务器错误";当API被调用并且CCD_ 2请求头被设置为CCD_。

然而,基于Python的实现工作良好,没有任何问题。以下是异常跟踪的摘录:

org.apache.tomcat.util.http.fileupload.FileUploadException: the request was rejected because no multipart boundary was found
at org.apache.tomcat.util.http.fileupload.impl.FileItemIteratorImpl.init(FileItemIteratorImpl.java:189)
at org.apache.tomcat.util.http.fileupload.impl.FileItemIteratorImpl.getMultiPartStream(FileItemIteratorImpl.java:205)
at org.apache.tomcat.util.http.fileupload.impl.FileItemIteratorImpl.findNextItem(FileItemIteratorImpl.java:224)
at org.apache.tomcat.util.http.fileupload.impl.FileItemIteratorImpl.<init>(FileItemIteratorImpl.java:142)
at org.apache.tomcat.util.http.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:252)
at org.apache.tomcat.util.http.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:276)
at org.apache.catalina.connector.Request.parseParts(Request.java:2921)
at org.apache.catalina.connector.Request.getParts(Request.java:2823)
at org.apache.catalina.connector.RequestFacade.getParts(RequestFacade.java:1098)
at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.parseRequest(StandardMultipartHttpServletRequest.java:95)
at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.<init>(StandardMultipartHttpServletRequest.java:88)
at org.springframework.web.multipart.support.StandardServletMultipartResolver.resolveMultipart(StandardServletMultipartResolver.java:122)
at org.springframework.web.servlet.DispatcherServlet.checkMultipart(DispatcherServlet.java:1205)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)

从互联网上,我了解到我们需要添加类似multipart/form-data; boundary=...的边界标记。我们希望保留API消费者在Python中的行为。话虽如此,在控件到达@Controller层之前,是否有人可以操作请求标头?

目前;内部服务器错误";被spring框架本身抛出,并且控制直到CCD_ 6层才返回。

有没有办法控制Spring的行为?我们使用的是Spring 2.5.6版本。

在api级别,在@GetMapping注释中,您可以在consumps参数中提供MediaType。媒体类型基本上是告诉api需要什么样的数据-json、xml、pdf等。你可以从这里获得关于什么媒体类型的详细信息

最新更新