如何创建可以处理不同的JSON POJO请求,执行客户端调用并返回各自响应的通用服务?

时间:2019-07-02 15:53:32

标签: java json generics

当前,我们正在创建不同的服务来处理不同的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
}

}

0 个答案:

没有答案