我有一个上游应用程序,向我发送了一个包含非UTF8字符的JSON。我无法识别它。我的API只是一个传递服务,因此我们将其发送到另一个下游API。它拒绝了错误为“ JSON包含非UTF8字符”的请求。所有API均以JAVA编码。
我想知道如何通过在测试JSON文件中模拟非UTF8字符来模拟下游错误。
这一行代码可确保我对下游的请求中没有非UTF8字符吗?
String utf8checkedRequestBody = new String(upstreamRequestBody.getBytes("UTF-8"));
我还将将Content-Type设置为对application/json; charset=utf-8
的下游API的调用。
我知道可以通过移位字节来模拟非UTF8字符,但是在Java中实现它的任何帮助将受到高度赞赏。我在SO和Web上的搜索没有得到任何好的答案:(