Commit 69316231 by 袁伟铭

1.0.0

parent 243c36fb
......@@ -7,8 +7,10 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Bean;
@EnableFeignClients
@MapperScan("com.zq.api.dao")
@EnableDiscoveryClient
@SpringBootApplication(scanBasePackages = {"com.zq.api", "com.zq.common.config"})
......
......@@ -27,7 +27,7 @@ public class ApiController {
private final ApiService apiService;
// 允许用户未登录状态下执行的方法名
private String[] allowMethod = {"te4st"};
private String[] allowMethod = {"test"};
/**
* 获取信息入口
......
package com.zq.api.feign;
import com.zq.common.vo.ResultVo;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.Map;
@Component
public class CmsFeign {
@FeignClient(name = "CMS-SERVER") //指定调用哪个微服务
@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;
import com.zq.common.entity.ApiLog;
import com.zq.common.utils.DateUtils;
import com.zq.common.vo.ResultVo;
import feign.FeignException;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.web.client.HttpClientErrorException;
import java.lang.reflect.Method;
import java.util.ArrayList;
......@@ -68,8 +68,9 @@ public class ApiService {
try {
return (ApiResp) ReflectionUtils.invokeMethod(apiLogic, form.getMethod(), new Class<?>[]{ApiForm.class}, new Object[]{form});
} 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.getMethodHandlerError(form);
......
......@@ -5,12 +5,15 @@ import com.zq.api.form.ApiForm;
import com.zq.api.form.ApiResp;
import com.zq.api.service.IApiLogic;
import com.zq.api.utils.ApiUtils;
import com.zq.common.vo.ResultVo;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
@Component
@RequiredArgsConstructor
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 {
*/
@Override
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;
import com.zq.api.feign.CmsFeign;
import com.zq.api.service.IApiLogic;
import org.springframework.stereotype.Component;
@Component
public class ApiV101Logic extends ApiV100Logic implements IApiLogic {
public ApiV101Logic(CmsFeign cmsFeign) {
super(cmsFeign);
}
}
......@@ -9,6 +9,7 @@ import com.zq.api.service.impl.ApiV100Logic;
import com.zq.api.service.impl.ApiV101Logic;
import com.zq.common.vo.ResultVo;
import org.apache.commons.codec.binary.Base64;
import org.springframework.stereotype.Component;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
......@@ -18,17 +19,18 @@ import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
@Component
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;
static {
addApi("1.0.0", new ApiV100Logic());
addApi("1.0.1", new ApiV101Logic());
public ApiUtils(ApiV100Logic apiV100Logic, ApiV101Logic apiV101Logic) {
addApi("1.0.0", apiV100Logic);
addApi("1.0.1", apiV101Logic);
}
public static void addApi(String version, IApiLogic apiLogic) {
......@@ -40,6 +42,16 @@ public class ApiUtils {
}
/**
* 获取成功响应
*
* @param form
* @return
*/
public static ApiResp getSuccessResp(ApiForm form) {
return new ApiResp(form, ApiCodeEnum.SUCCESS);
}
/**
* api关闭resp
* <p>
* 2016年9月29日 上午11:44:38
......
......@@ -20,7 +20,7 @@
<project.reporting.outputencoding>UTF-8</project.reporting.outputencoding>
<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>
<mybatis.plus.version>3.4.0</mybatis.plus.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