У меня не так много опыта работы с akka, но что-то изменилось в том, как HttpEntity
обрабатывает строки?
В настоящее время я использую akka-http 1.0, но хотел бы перейти на версию 2.0 и начать использовать функциональность Source.queue
. Я следую шагам, описанным в этот блог, на который я был направлен из похожего вопроса о переполнении стека. Я смог реализовать все из сообщения в блоге. Однако обновление до версии 2.0, похоже, сломало то, что у меня было для HttpEntity. В настоящее время у меня есть следующее объявление внутри HttpRequest
в akka-http 1.0:
entity = HttpEntity(MediaTypes.`application/xml`, xml)
Где xml
— это строка, созданная с помощью XStream. Когда я перехожу на 2.0, я получаю предупреждение от своей IDE, что она не может разрешить HttpEntity с такой подписью и что существует несоответствие типа для части MediaTypes; ожидая ContentType.
Попытка передать MediaType в ContentType с помощью:
HttpEntity(ContentType(MediaTypes.`application/xml`), xml)
результаты с разным несоответствием типов; ожидал Binary
или WithFixedCharset
, но нашел WithOpenCharset
.
Вот весь блок кода для HttpRequest для 1.0, который в настоящее время работает без проблем:
httpReq = HttpRequest(method = HttpMethods.PUT,
uri = itemUri,
entity = HttpEntity(MediaTypes.`application/xml`, xml),
headers = List(apiH))
Нужно ли мне реализовать собственный сериализатор или что-то еще для строк xml с 2.0?
Любая помощь здесь очень ценится.