Retrofit @GET - how to display request string?

后端 未结 3 592
挽巷
挽巷 2021-02-18 19:22

I\'m working on an Android application that uses Retrofit to create a restful client. In order to debug networks calls, I would like to display or dump the url that\'s actually

相关标签:
3条回答
  • 2021-02-18 19:53

    Yes, you can enable debug logging by calling setLogLevel() on your RestAdapter.

    I typically set logging to LogLevel.FULL for debug builds like so:

    RestAdapter adapter = builder.setEndpoint("example.com")
        .setLogLevel(BuildConfig.DEBUG ? RestAdapter.LogLevel.FULL : RestAdapter.LogLevel.NONE)
        .build();
    

    This will automatically print out all of the information associated with your HTTP requests, including the URL you are hitting, the headers, and the body of both the request and the response.

    0 讨论(0)
  • 2021-02-18 20:00

    RetrofitError has a getUrl() method that returns the URL.

    Also the Response has a getUrl() method as well within the callback.

    That, and you can also specify the log level as per this question:

    RestAdapter adapter = (new RestAdapter.Builder()).
    //...
               setLogLevel(LogLevel.FULL).setLog(new AndroidLog("YOUR_LOG_TAG"))              
    

    Although based on the docs, LogLevel.BASIC should do what you need.

    BASIC
    Log only the request method and URL and the response status code and execution time.
    
    0 讨论(0)
  • 2021-02-18 20:08

    call.request().url(), where call is type of retrofit2.Call.

    0 讨论(0)
提交回复
热议问题