我不是UTF-8系统。因此,客户端以系统默认编码格式始终发送Json,与Json仅定义为UTF-X的事实无关。我该如何防止这种情况?
答案 0 :(得分:0)
RestEasyClient中使用的ApacheHttpClient4Engine在buildEntity方法中使用了DeferredFileOutputStream。所以你需要用这样的Utf8RecodingDeferredFileOutputStream覆盖那里的行为,或者将默认编码设置为-Dfile.encoding = UTF8
当您将实体创建为UTF-8时,还命令您设置变体。
Variant variant = new Variant(MediaType.valueOf(MediaType.APPLICATION_JSON), language, StandardCharsets.UTF_8.name());
Entity.entity(request, variant)