Commit 69316231 by 袁伟铭

1.0.0

parent 243c36fb
...@@ -7,8 +7,10 @@ import org.springframework.boot.SpringApplication; ...@@ -7,8 +7,10 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
@EnableFeignClients
@MapperScan("com.zq.api.dao") @MapperScan("com.zq.api.dao")
@EnableDiscoveryClient @EnableDiscoveryClient
@SpringBootApplication(scanBasePackages = {"com.zq.api", "com.zq.common.config"}) @SpringBootApplication(scanBasePackages = {"com.zq.api", "com.zq.common.config"})
......
...@@ -27,7 +27,7 @@ public class ApiController { ...@@ -27,7 +27,7 @@ public class ApiController {
private final ApiService apiService; private final ApiService apiService;
// 允许用户未登录状态下执行的方法名 // 允许用户未登录状态下执行的方法名
private String[] allowMethod = {"te4st"}; private String[] allowMethod = {"test"};
/** /**
* 获取信息入口 * 获取信息入口
......
package com.zq.api.feign; package com.zq.api.feign;
import com.zq.common.vo.ResultVo; import com.zq.common.vo.ResultVo;
import org.springframework.stereotype.Component; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.client.RestTemplate; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.Map; import java.util.Map;
@Component @FeignClient(name = "CMS-SERVER") //指定调用哪个微服务
public class CmsFeign { @RequestMapping("/cms")
public interface CmsFeign {
private RestTemplate restTemplate = new RestTemplate(); @GetMapping("/adviceFeedback/getAdviceFeedbackById")
ResultVo test(Map<String, Object> paramsMap);
private static String cmsServer = "http://127.0.0.1:9889/cms";
public ResultVo test(Map<String, Object> paramsMap) {
return restTemplate.getForObject(cmsServer + "/adviceFeedback/getAdviceFeedbackById", ResultVo.class);
}
} }
...@@ -10,10 +10,10 @@ import com.zq.api.utils.ReflectionUtils; ...@@ -10,10 +10,10 @@ import com.zq.api.utils.ReflectionUtils;
import com.zq.common.entity.ApiLog; import com.zq.common.entity.ApiLog;
import com.zq.common.utils.DateUtils; import com.zq.common.utils.DateUtils;
import com.zq.common.vo.ResultVo; import com.zq.common.vo.ResultVo;
import feign.FeignException;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.client.HttpClientErrorException;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -68,8 +68,9 @@ public class ApiService { ...@@ -68,8 +68,9 @@ public class ApiService {
try { try {
return (ApiResp) ReflectionUtils.invokeMethod(apiLogic, form.getMethod(), new Class<?>[]{ApiForm.class}, new Object[]{form}); return (ApiResp) ReflectionUtils.invokeMethod(apiLogic, form.getMethod(), new Class<?>[]{ApiForm.class}, new Object[]{form});
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace();
// 判断指定异常是否来自或者包含指定异常 // 判断指定异常是否来自或者包含指定异常
if (ExceptionUtil.isFromOrSuppressedThrowable(e, HttpClientErrorException.Unauthorized.class)) { if (ExceptionUtil.isFromOrSuppressedThrowable(e, FeignException.Unauthorized.class)) {
return ApiUtils.toApiResp(form, ResultVo.fail(401, "Unauthorized")); return ApiUtils.toApiResp(form, ResultVo.fail(401, "Unauthorized"));
} }
return ApiUtils.getMethodHandlerError(form); return ApiUtils.getMethodHandlerError(form);
......
...@@ -5,12 +5,15 @@ import com.zq.api.form.ApiForm; ...@@ -5,12 +5,15 @@ import com.zq.api.form.ApiForm;
import com.zq.api.form.ApiResp; import com.zq.api.form.ApiResp;
import com.zq.api.service.IApiLogic; import com.zq.api.service.IApiLogic;
import com.zq.api.utils.ApiUtils; import com.zq.api.utils.ApiUtils;
import com.zq.common.vo.ResultVo;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Component @Component
@RequiredArgsConstructor
public class ApiV100Logic extends BaseApiLogic implements IApiLogic { public class ApiV100Logic extends BaseApiLogic implements IApiLogic {
private CmsFeign cmsFeign = new CmsFeign(); private final CmsFeign cmsFeign;
/** /**
* 测试连接 * 测试连接
...@@ -20,6 +23,6 @@ public class ApiV100Logic extends BaseApiLogic implements IApiLogic { ...@@ -20,6 +23,6 @@ public class ApiV100Logic extends BaseApiLogic implements IApiLogic {
*/ */
@Override @Override
public ApiResp test(ApiForm form) { public ApiResp test(ApiForm form) {
return ApiUtils.toApiResp(form, cmsFeign.test(form.getParamsMap())); return ApiUtils.toApiResp(form, ResultVo.success());
} }
} }
package com.zq.api.service.impl; package com.zq.api.service.impl;
import com.zq.api.feign.CmsFeign;
import com.zq.api.service.IApiLogic; import com.zq.api.service.IApiLogic;
import org.springframework.stereotype.Component;
@Component
public class ApiV101Logic extends ApiV100Logic implements IApiLogic { public class ApiV101Logic extends ApiV100Logic implements IApiLogic {
public ApiV101Logic(CmsFeign cmsFeign) {
super(cmsFeign);
}
} }
...@@ -9,6 +9,7 @@ import com.zq.api.service.impl.ApiV100Logic; ...@@ -9,6 +9,7 @@ import com.zq.api.service.impl.ApiV100Logic;
import com.zq.api.service.impl.ApiV101Logic; import com.zq.api.service.impl.ApiV101Logic;
import com.zq.common.vo.ResultVo; import com.zq.common.vo.ResultVo;
import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.binary.Base64;
import org.springframework.stereotype.Component;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.net.URLDecoder; import java.net.URLDecoder;
...@@ -18,17 +19,18 @@ import java.util.HashMap; ...@@ -18,17 +19,18 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.TreeMap; import java.util.TreeMap;
@Component
public class ApiUtils { public class ApiUtils {
private static final Map<String, IApiLogic> map = new HashMap<String, IApiLogic>(); private static final Map<String, IApiLogic> map = new HashMap<>();
/** /**
* 调试日志 * 调试日志
*/ */
public static boolean DEBUG = false; public static boolean DEBUG = false;
static { public ApiUtils(ApiV100Logic apiV100Logic, ApiV101Logic apiV101Logic) {
addApi("1.0.0", new ApiV100Logic()); addApi("1.0.0", apiV100Logic);
addApi("1.0.1", new ApiV101Logic()); addApi("1.0.1", apiV101Logic);
} }
public static void addApi(String version, IApiLogic apiLogic) { public static void addApi(String version, IApiLogic apiLogic) {
...@@ -40,6 +42,16 @@ public class ApiUtils { ...@@ -40,6 +42,16 @@ public class ApiUtils {
} }
/** /**
* 获取成功响应
*
* @param form
* @return
*/
public static ApiResp getSuccessResp(ApiForm form) {
return new ApiResp(form, ApiCodeEnum.SUCCESS);
}
/**
* api关闭resp * api关闭resp
* <p> * <p>
* 2016年9月29日 上午11:44:38 * 2016年9月29日 上午11:44:38
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<project.reporting.outputencoding>UTF-8</project.reporting.outputencoding> <project.reporting.outputencoding>UTF-8</project.reporting.outputencoding>
<java.version>1.8</java.version> <java.version>1.8</java.version>
<swagger.version>2.9.2</swagger.version> <swagger.version>3.0.0</swagger.version>
<alibaba.druid.version>1.1.22</alibaba.druid.version> <alibaba.druid.version>1.1.22</alibaba.druid.version>
<mybatis.plus.version>3.4.0</mybatis.plus.version> <mybatis.plus.version>3.4.0</mybatis.plus.version>
<pagehelper.version>5.2.0</pagehelper.version> <pagehelper.version>5.2.0</pagehelper.version>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment