| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 | package org.jeecg.common.util;import com.alibaba.fastjson.JSONObject;import org.jeecg.common.api.vo.Result;import org.springframework.http.HttpHeaders;import org.springframework.http.HttpMethod;import org.springframework.http.MediaType;import org.springframework.http.ResponseEntity;/** * 通过 RESTful 风格的接口操纵 desform 里的数据 * * @author sunjianlei */public class RestDesformUtil {    private static String domain = null;    private static String path = null;    static {        domain = SpringContextUtils.getDomain();        path = oConvertUtils.getString(SpringContextUtils.getApplicationContext().getEnvironment().getProperty("server.servlet.context-path"));    }    /**     * 查询数据     *     * @param desformCode     * @param dataId     * @param token     * @return     */    public static Result queryOne(String desformCode, String dataId, String token) {        String url = getBaseUrl(desformCode, dataId).toString();        HttpHeaders headers = getHeaders(token);        ResponseEntity<JSONObject> result = RestUtil.request(url, HttpMethod.GET, headers, null, null, JSONObject.class);        return packageReturn(result);    }    /**     * 新增数据     *     * @param desformCode     * @param formData     * @param token     * @return     */    public static Result addOne(String desformCode, JSONObject formData, String token) {        return addOrEditOne(desformCode, formData, token, HttpMethod.POST);    }    /**     * 修改数据     *     * @param desformCode     * @param formData     * @param token     * @return     */    public static Result editOne(String desformCode, JSONObject formData, String token) {        return addOrEditOne(desformCode, formData, token, HttpMethod.PUT);    }    private static Result addOrEditOne(String desformCode, JSONObject formData, String token, HttpMethod method) {        String url = getBaseUrl(desformCode).toString();        HttpHeaders headers = getHeaders(token);        ResponseEntity<JSONObject> result = RestUtil.request(url, method, headers, null, formData, JSONObject.class);        return packageReturn(result);    }    /**     * 删除数据     *     * @param desformCode     * @param dataId     * @param token     * @return     */    public static Result removeOne(String desformCode, String dataId, String token) {        String url = getBaseUrl(desformCode, dataId).toString();        HttpHeaders headers = getHeaders(token);        ResponseEntity<JSONObject> result = RestUtil.request(url, HttpMethod.DELETE, headers, null, null, JSONObject.class);        return packageReturn(result);    }    private static Result packageReturn(ResponseEntity<JSONObject> result) {        if (result.getBody() != null) {            return result.getBody().toJavaObject(Result.class);        }        return Result.error("操作失败");    }    private static StringBuilder getBaseUrl() {        StringBuilder builder = new StringBuilder(domain).append(path);        builder.append("/desform/api");        return builder;    }    private static StringBuilder getBaseUrl(String desformCode, String dataId) {        StringBuilder builder = getBaseUrl();        builder.append("/").append(desformCode);        if (dataId != null) {            builder.append("/").append(dataId);        }        return builder;    }    private static StringBuilder getBaseUrl(String desformCode) {        return getBaseUrl(desformCode, null);    }    private static HttpHeaders getHeaders(String token) {        HttpHeaders headers = new HttpHeaders();        String mediaType = MediaType.APPLICATION_JSON_UTF8_VALUE;        headers.setContentType(MediaType.parseMediaType(mediaType));        headers.set("Accept", mediaType);        headers.set("X-Access-Token", token);        return headers;    }}
 |