У меня есть простое приложение Quarkus с ресурсом POST.
@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response updateContent(@MultipartForm MyRequest request) {
bus.sendAndForget("request", request);
return Response.accepted().build();
}
Мой запрос выглядит следующим образом:
public class MyRequest {
@FormParam("template")
@PartType(MediaType.APPLICATION_OCTET_STREAM)
private byte[] template;
@FormParam("data")
@PartType(MediaType.TEXT_PLAIN)
private Map<String, String> data;
// Default constructor & getters
}
Затем я отправляю следующее с почтальоном:
![enter image description here](https://i.stack.imgur.com/T70Mo.png)
Затем я получаю следующую ошибку:
java.lang.RuntimeException: RESTEASY007545: Unable to find a MessageBodyReader for media type: text/plain; charset=us-ascii and class type java.util.Map
Если я отправляю только шаблон, он работает, поэтому кажется, что JSON строка не может быть проанализирована по какой-то причине.
Я думаю, что у меня есть все необходимые зависимости, такие как:
- quarkus-resteasy-jackson
- resteasy-multipart-provider
- resteasy-jackson2-provider
И я также попытался вручную зарегистрировать ResteasyJackson2Provider и изменить mediaType свойства data на APPLICATION_ JSON, но это не помогло. Помогите. Чего мне не хватает, или я даже правильно отправляю JSON?