Android
Kotlin
OkHttp

OKHttpリクエストのCurlコマンドを出力するライブラリが便利だった


概要

Apollo GraphQL Client (Android)を動かしてみた際のメモ でAndroidからGraphQLを触っている際、CurlコマンドでGraphQLのエンドポイントを叩きたいケースがしばしばあった。Chromeのデベロッパーツールの「Network」タブには「Copy as Curl」というリクエストをCurlコマンドで出力してくれる機能があるが、Androidでもそういったデバッグ機能がないか探したところ、「Ok2Curl」というライブラリがあった。

利用してみたところ便利だったのでメモ。


利用方法

GithubページのREADMEに従えばOK。

https://github.com/mrmike/Ok2Curl

以下の依存関係を追加


dependencies {
implementation 'com.github.mrmike:ok2curl:0.4.5'
}

使い方は下記のように、InterceptorをOKHttpClientのBuilderに差し込むだけで、CurlコマンドをLogcatに出力できる。

(Kotlin)

        OkHttpClient.Builder()

.addInterceptor(CurlInterceptor(Loggable { message -> Log.v("Ok2Curl", message) }))
.build()

(Java)

OkHttpClient okHttp = new OkHttpClient.Builder()

.addInterceptor(new CurlInterceptor(new Loggable() {
@Override
public void log(String message) {
Log.v("Ok2Curl", message);
}
}))
.build();

OKHttpの通信をサクッとCurlにできるので便利。