Java 如何选择函数I';我要在建筑工人课上使用?
我有一个方法,我使用它将所有请求发送到服务器。 在这个方法中,我使用的是Builder类。 我只是想知道如何根据函数的输入在每个请求中通过“if”指定生成器函数的类型。 以下是我的功能:Java 如何选择函数I';我要在建筑工人课上使用?,java,android,builder,Java,Android,Builder,我有一个方法,我使用它将所有请求发送到服务器。 在这个方法中,我使用的是Builder类。 我只是想知道如何根据函数的输入在每个请求中通过“if”指定生成器函数的类型。 以下是我的功能: public String sendHttpRequest(String url, String parameters,String type) { try { OkHttpClient client = new OkHttpClient(); MediaType m
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 "";
}
那我该怎么办 我不知道这个OkHttp库,但由于它是一个构建器,我想您可以在调用build()方法之前,分部分创建它。比如:
Request.Builder builder = new Request.Builder();
builder.url(url)
if(type.equal("get")){
builder.get();
}
if(type.equal("post")){
builder.post();
}
builder.addHeader("content-type", "application/json");
builder.addHeader("cache-control", "no-cache");
Request request = builder.build();
Response response = client.newCall(request).execute();
您可以通过链接或单独使用构建器 您可以尝试以下方法:
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();
太棒了!谢谢纳宾:)