我已经成功使用Swagger
用swagger-codegen-cli
生成了一个Java客户端。
我打了很多电话(接听,接听等),都没有问题。
我现在遇到一个特定呼叫的问题,为了进行调试,我需要阅读由呼叫生成的完整JSON
,但我在任何地方都找不到。
我到处都尝试过调试器:类ApiClient
作为元素private JSON json;
,但我也没有在其中找到完整的内容。
我在哪里可以找到或提取它?
谢谢
答案 0 :(得分:0)
我终于找到了解决方案:我们需要在com.squareup.okhttp.Request
方法的末尾截获类ApiClient
中的buildCall
。
我在调用新方法return httpClient.newCall(request);
之后紧接着printRequestBody(request);
处添加了该方法。
private void printRequestBody(Request request) {
RequestBody requestBody;
if(request.body() == null){
System.out.println(request.tag().toString());
return;
}else{
requestBody = request.body();
}
Buffer buffer = new Buffer();
try {
requestBody.writeTo(buffer);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(request.toString() + " --> "+buffer.readUtf8());
}
通过此操作,我已经成功获得了json正文的打印内容。