当前,我们正在创建不同的服务来处理不同的JSON Pojo请求。这些服务中的每一个都经过定制以构建json请求,因为每个请求具有不同的参数,如代码中所示。 我想要的是? 避免代码重复 创建一个可以处理不同json请求的单一服务,根据请求主体构造json有效负载,根据请求自动添加参数并执行http客户端调用,该怎么办?
通过代码中显示的导入,您可以看到正在使用哪个json对象。
import org.json.JSONObject;
public class GoogleSearchService {
public GoogleSearchResponse getGoogleSearchResult(GoogleSearchRequest request) {
Response response = customHttpclientService.post("googleUrl")
.headers("added headers here")
.requestBody(MediaType.application_json, buildJsonObject().toString())
.execute();
/*The getGoogleSearchRespons() method will parse the response
from the response object.
*/
return getGoogleSearchResponse(response);
}
private JSONObject buildJsonObject(GoogleSearchRequest request) {
JSONObject object = new JSONObject():
object.put("paramOne", request.getParamOne());
//And so on all params are added like this in each service
}
}