使用Okhttp3的OPTIONS/HEAD REST API请求

And*_*lov 6 java android okhttp okhttp3

我在Android上写了一些Rest客户端,我遇到了一个问题 - 我不知道如何制作HEAD和OPTIONS请求.

OkHttp3中的GET/POST/PUT/DELETE/PATCH请求没有问题,基本上它们看起来像:

        request = new Request.Builder()
                .url(url)
                .headers(headerBuilder.build())
                .post(bodyBuilder.build())
                .build();
Run Code Online (Sandbox Code Playgroud)

并且OkHttp3不提供其他方法,如head()或option().

那么如何使用OkHttp3创建HEAD和OPTIONS请求?

mik*_*hik 7

看来(至少在当前的实现API 3.12.0),HEAD可以像GET其他人一样提出请求:

Request request = new Request.Builder()
                .url(url)
                .head()
                .build();
Run Code Online (Sandbox Code Playgroud)

OPTION 仍然必须使用 .method()


And*_*lov 5

找到答案,可能对其他人有用

OkHttp3仍然有方法

Builder method(String method, RequestBody body)
Run Code Online (Sandbox Code Playgroud)

所以OPTIONS请求看起来像

        Request request = new Request.Builder()
                .url(url)
                .headers(headerBuilder.build())
                .method("OPTIONS",requestBody)
                .build();
Run Code Online (Sandbox Code Playgroud)

同样适用于HEAD