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;
- }
- }
|