java - 如何选择要在 Builder 类中使用的函数类型?

标签 java android builder

我有一个方法可以将我所有的请求发送到服务器。 在这个方法中,我使用了 Builder 类。 我只想知道如何根据函数的输入在每个请求中通过“if”指定Builder函数的类型。 这是我的功能:

public String sendHttpRequest(String url, String parameters,String type) {

    try {
        OkHttpClient client = new OkHttpClient();

        MediaType mediaType = MediaType.parse("application/json");
        RequestBody body = RequestBody.create(mediaType, parameters);
        Request request = new Request.Builder()

                .url(url)

                /*what I'm going to do is somthing like this:

                if(type.equal("get")){
                .get()
                 }
                 if(type.equal("post")){
                .post()
                 }
                 */
                .addHeader("content-type", "application/json")
                .addHeader("cache-control", "no-cache")

        Response response = client.newCall(request).execute();
        return response.body().string().toString();

    } catch (IOException ex) {
    }
    return "";
}

那我该怎么办?!

最佳答案

您可以通过链接或单独使用构建器。

你可以尝试这样的事情:

Request.Builder builder = new Request.Builder()
        .url(url)
        .addHeader("content-type", "application/json")
        .addHeader("cache-control", "no-cache");
if(type.equals("get")){
    builder.get();
} else if(type.equals("post")){
    builder.post(/*body*/);
}
Request request = builder.build();

Response response = client.newCall(request).execute();

关于java - 如何选择要在 Builder 类中使用的函数类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46586192/

相关文章:

ios - 使用自动布局更改 uiview 的大小并使其始终居中

javascript - 高级搜索功能 - 为最终用户提供查询构建器

java - 如何取消选中场景生成器中的可调整大小选项

没有网页的 Android 应用索引

java - 使用 maven 在 eclipse 中的控制台中运行 java

c# - winforms 面板与 java swing 面板

java - 实现响应式方向枚举的最简单方法? java

java - 一个让我困惑的Android场景

java - 向 Pebble 发送通知

java - 绘制JSlider的 slider 图标