无法解析多部分servlet请求

时间:2019-11-22 14:57:13

标签: java spring jersey

我正在尝试使用spring boot和jersey创建API端点,但是在调用时遇到错误:

org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is java.lang.IllegalStateException: Unable to process parts as no multi-part configuration has been provided

Jersey配置

@Configuration
@ApplicationPath(PathConstants.API_PATH)
@Profile(Profiles.PROFILE_NOT_ACCEPTANCE)
public class JerseyConfig extends ResourceConfig {
    public JerseyConfig() {
        registerClasses(this.getComponents());
        property(org.glassfish.jersey.server.ServerProperties.BV_SEND_ERROR_IN_RESPONSE, true);
    }
    protected Set<Class<?>> getComponents() {
        return new HashSet<>(Arrays.asList(
                // App filters
                CORSFilter.class,
                // App Routes
                ApiResource.class,
                ResponseEntity.class,
                MyEntity.class
        ));
    }
}

Api资源(控制器)

public class VanResource {
    @Autowired
    private Service service;

    @GET
    @Path(PathConstants.RUN)
    @Produces(javax.ws.rs.core.MediaType.APPLICATION_JSON + ";charset=utf-8")
    public ResponseEntity<MyEntity> run(
            @RequestParam(value = "user", required = true) String user,
            @RequestParam(value = "country", required = false) String country,
            @RequestParam(value = "date", required = false) String dateStr) {
        LocalDateTime date = null;
        if (dateStr != null) {
            DateTimeManager dateTimeManager = new DateTimeManager();
            date = dateTimeManager.getLocalDateTime(dateStr);
        }
        MyEntity myEntity = service.getRun(user, country, date);
        return new ResponseEntity<>(myEntity, HttpStatus.OK);
    }
}

0 个答案:

没有答案