Multipart/form-data Wildfly 上的 RESTEasy 错误
Multipart/form-data RESTEasy error on Wildfly
我正在尝试在接受文件上传的 Wildfly 应用服务器上设置 REST API。在测试它时,我遇到了以下问题。尝试使用 Content-Type: multipart/form-data
上传时,我收到以下响应:
HTTP Status Code: 400
Content-Type: text/html;charset=UTF-8
Body: "java.io.IOException: RESTEASY007550: Unable to get boundary for multipart"
这是尝试的请求。
Headers
{
"content-length": "233",
"content-type": "multipart/form-data",
"accept-encoding": "multipart/form-data",
"authorization": "Bearer ommitted"
"user-agent": "PostmanRuntime/7.28.3"
}
Body
----------------------------976685076323434093219932
Content-Disposition: form-data; name="file"; filename="import.csv"
Content-Type: text/csv
destination
1234567890
----------------------------976685076323434093219932--
API端点配置如下:
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput;
@Stateless
@Path("/import")
@Produces(MediaType.APPLICATION_JSON)
public class ImportAPI {
@POST
@Path("/{id}/do")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response doImport(
@Context HttpServletRequest request,
@PathParam("id") Integer campaignId,
MultipartFormDataInput input) {
// Code omitted
return Response.ok().build();
}
}
发生错误时服务器日志上没有打印错误日志。我正在使用 Wildfly 23 和 RESTEasy 3.15。1.Final(由 Wildfly App Server 提供)。
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-multipart-provider</artifactId>
<version>3.15.1.Final</version>
<scope>provided</scope>
</dependency>
我不完全确定请求或 API 端点是否有问题,我希望对此有所了解。
Content-Type
字段错误。在您的示例中,它需要类似于:
"Content-Type": multipart/form-data; boundary="--------------------------976685076323434093219932"
减号(破折号)字符比示例的当前正文中显示的字符少两个。
我正在尝试在接受文件上传的 Wildfly 应用服务器上设置 REST API。在测试它时,我遇到了以下问题。尝试使用 Content-Type: multipart/form-data
上传时,我收到以下响应:
HTTP Status Code: 400
Content-Type: text/html;charset=UTF-8
Body: "java.io.IOException: RESTEASY007550: Unable to get boundary for multipart"
这是尝试的请求。
Headers
{
"content-length": "233",
"content-type": "multipart/form-data",
"accept-encoding": "multipart/form-data",
"authorization": "Bearer ommitted"
"user-agent": "PostmanRuntime/7.28.3"
}
Body
----------------------------976685076323434093219932
Content-Disposition: form-data; name="file"; filename="import.csv"
Content-Type: text/csv
destination
1234567890
----------------------------976685076323434093219932--
API端点配置如下:
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput;
@Stateless
@Path("/import")
@Produces(MediaType.APPLICATION_JSON)
public class ImportAPI {
@POST
@Path("/{id}/do")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response doImport(
@Context HttpServletRequest request,
@PathParam("id") Integer campaignId,
MultipartFormDataInput input) {
// Code omitted
return Response.ok().build();
}
}
发生错误时服务器日志上没有打印错误日志。我正在使用 Wildfly 23 和 RESTEasy 3.15。1.Final(由 Wildfly App Server 提供)。
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-multipart-provider</artifactId>
<version>3.15.1.Final</version>
<scope>provided</scope>
</dependency>
我不完全确定请求或 API 端点是否有问题,我希望对此有所了解。
Content-Type
字段错误。在您的示例中,它需要类似于:
"Content-Type": multipart/form-data; boundary="--------------------------976685076323434093219932"
减号(破折号)字符比示例的当前正文中显示的字符少两个。