我成功地使用Swagger
生成了一个带swagger-codegen-cli
的java客户端。
我有很多调用(获取,放置等),没有任何问题。我现在遇到一个特定调用的问题,并且对于调试我需要读取我的调用生成的完整JSON
,但我无法在任何地方找到它。
我试过调试器无处不在:类ApiClient
作为元素private JSON json;
,但我还没有找到它的全身。
我在哪里可以找到或提取它?
谢谢
我终于找到了一个解决方案:我们需要在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身体的印刷品。