Веб-клиент Vertx выбрасывает неподдерживаемый тип носителя HTTP 415 для данных Multipart/form

Эта служба принимает составной запрос от мобильного клиента и передает запрос нижестоящей службе для загрузки изображения. Я вижу 415 неподдерживаемого типа носителя в моем последующем сервисе

 private void makeRequest(HttpRequest<Buffer> httpRequest,
                             Promise<Object> future,
                             RequestContext requestContext,
                             RoutingContext routingContext,
                             Entry entry) {
        MultipartForm multipartForm = MultipartForm.create();
        MultiMap attributes = routingContext.request()
                .formAttributes();
        attributes.forEach(attribute -> {
            multipartForm.attribute(attribute.getKey(), attribute.getValue());
        });
        routingContext.fileUploads()
                .forEach(fileUpload -> {
                    multipartForm.binaryFileUpload(fileUpload.name(), fileUpload.fileName(),
                            fileUpload.uploadedFileName(), fileUpload.contentType());
                });

        httpRequest.sendMultipartForm(multipartForm, response -> {
            handleResponse(routingContext, future, response, requestContext, entry);
        });
    }

Получение исключения ниже

javax.ws.rs.NotSupportedException: HTTP 415 Unsupported Media Type
    at org.glassfish.jersey.server.internal.routing.MethodSelectingRouter.getMethodRouter(MethodSelectingRouter.java:478)
    at org.glassfish.jersey.server.internal.routing.MethodSelectingRouter.access$000(MethodSelectingRouter.java:94)
    at org.glassfish.jersey.server.internal.routing.MethodSelectingRouter$4.apply(MethodSelectingRouter.java:779)
    at org.glassfish.jersey.server.internal.routing.MethodSelectingRouter.apply(MethodSelectingRouter.java:371)

Подпись API моей последующей службы

@POST
    @Timed
    @Path("{userId}/{scope}/upload")
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    @Produces(MediaType.APPLICATION_JSON)
    @ApiOperation("Multipart upload of an image")

Может ли кто-нибудь указать, что не так в моем фрагменте кода, или есть ли какие-либо настройки, которые необходимо включить на сервере vertx или веб-клиенте vertx?

Спасибо, Нитиш Гоял

1 ответ

Решение

Я смог решить эту проблему, явно установив заголовок.putHeader("content-type", "multipart/form-data")

Другие вопросы по тегам