Я использовал кодирование / декодер / кодировщик Gson из этого сообщения: https://stackoverflow.com/a/60855905/7265913 в моем WebClient (org.springframework.web.reactive.function.client.WebClient)
Это прекрасно работает до сих пор. Я попытался получить fxml от RestService. Ответ от сервиса выглядит так (Fiddler):
HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
Date: Fri, 02 Oct 2020 10:01:00 GMT
Content-Length: 394
"\u003c?xml version\u003d\"1.0\" encoding\u003d\"UTF-8\"?\u003e\u003c?import javafx.scene.layout.AnchorPane?\u003e\u003cAnchorPane maxHeight\u003d\"-Infinity\" maxWidth\u003d\"-Infinity\" minHeight\u003d\"-Infinity\" minWidth\u003d\"-Infinity\" prefHeight\u003d\"400.0\" prefWidth\u003d\"600.0\" xmlns\u003d\"http://javafx.com/javafx/11.0.1\" xmlns:fx\u003d\"http://javafx.com/fxml/1\" /\u003e"
Проблема в том, что декодер вообще не преобразует входную строку. Символы Unicode все еще на месте (например, \u003c
, а не <
) и все экранированные символы (\"UTF-8\"
, а не "UTF-8"
или все разрывы строк \n
). Может кто подскажет, что менять? Конечно, я мог бы преобразовать String самостоятельно, но я думаю, что это должен сделать Gson / Decoder, но я не могу понять, как это реализовать.