代码之家  ›  专栏  ›  技术社区  ›  Leviand

从Java客户端获取Swagger JSON调用体

  •  0
  • Leviand  · 技术社区  · 6 年前

    我已经生成了一个带有 Swagger 使用 swagger-codegen-cli

    我有很多电话(get、put等)都能正常工作。 JSON 由我的电话生成,但我在任何地方都找不到。

    我到处都试过调试器:类 ApiClient 作为元素 private JSON json;

    我在哪里可以找到或提取?

    谢谢

    1 回复  |  直到 6 年前
        1
  •  0
  •   Leviand    6 年前

    我终于找到了解决办法:我们需要拦截 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());
    
    }