zl程序教程

您现在的位置是:首页 >  后端

当前栏目

使用策略模式避免八种http请求方式多重判断

模式HTTP 使用 方式 判断 策略 请求 避免
2023-06-13 09:11:26 时间

八种http请求方式

http/1.1协议中共定义了八种请求方式来表明requeset-url不同的操作,分别是get、post、head、options、put、delete、trace、connect。

httpclient用if else 多重判断来实现不同请求

        if (Consts.API.REQUEST_METHOD_POST.equals(frontendMessage.getRequestMethod().toUpperCase())) {
            // post请求实现
            return doPost(exchange);
        }
        else if (Consts.API.REQUEST_METHOD_GET.equals(frontendMessage.getRequestMethod().toUpperCase())) {
            // get请求实现
            return doGet(exchange);
        }
        else if (Consts.API.REQUEST_METHOD_PUT.equals(frontendMessage.getRequestMethod().toUpperCase())) {
            // put请求实现
            return doPut(exchange);
        }
        else if (Consts.API.REQUEST_METHOD_PATCH.equals(frontendMessage.getRequestMethod().toUpperCase())) {
            // patch请求实现
            return doPatch(exchange);
        }
        else if (Consts.API.REQUEST_METHOD_DELETE.equals(frontendMessage.getRequestMethod().toUpperCase())) {
            // delete请求实现
            return doDelete(exchange);
        }

   

使用策略模式实现http请求方式

// httpclient写法
HttpMethod method = HttpMethod.valueOf(frontendMessage.getRequestMethod().toUpperCase());
            return webClient.method(method)
// httpclient5写法
HttpUriRequestBase request = new HttpUriRequestBase(frontendMessage.getRequestMethod().toUpperCase(), uri);
CloseableHttpResponse response = httpclient.execute(request);