Merge branch 'master' into SpringCloudGateway

tanghc 6 years ago
commit fdd0e3e090
  1. 4
      changelog.md
  2. 2
      sop-admin/sop-admin-server/pom.xml
  3. 2
      sop-common/pom.xml
  4. 4
      sop-common/sop-gateway-common/pom.xml
  5. 5
      sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/result/BaseExecutorAdapter.java
  6. 2
      sop-common/sop-registry-api/pom.xml
  7. 4
      sop-common/sop-service-common/pom.xml
  8. 10
      sop-common/sop-service-common/src/main/java/com/gitee/sop/servercommon/configuration/AlipayServiceConfiguration.java
  9. 8
      sop-common/sop-service-common/src/main/java/com/gitee/sop/servercommon/mapping/ApiMappingRequestCondition.java
  10. 24
      sop-common/sop-service-common/src/main/java/com/gitee/sop/servercommon/param/ApiArgumentResolver.java
  11. 2
      sop-example/sop-auth/pom.xml
  12. 2
      sop-example/sop-auth/src/test/java/com/gitee/sop/sopauth/RefreshTokenTest.java
  13. 2
      sop-example/sop-book/sop-book-web/pom.xml
  14. 2
      sop-example/sop-easyopen/pom.xml
  15. 2
      sop-example/sop-springmvc/pom.xml
  16. 2
      sop-example/sop-story/sop-story-web/pom.xml
  17. 3
      sop-example/sop-story/sop-story-web/src/main/java/com/gitee/sop/storyweb/controller/PostJsonController.java
  18. 2
      sop-gateway/pom.xml
  19. 2
      sop-website/website-server/pom.xml

@ -1,5 +1,9 @@
# changelog
## 1.13.6
- 修复@RequestBody不能绑定问题
## 1.13.5
- 修复postJson下version获取不到问题

@ -30,7 +30,7 @@
<dependency>
<groupId>com.gitee.sop</groupId>
<artifactId>sop-registry-api</artifactId>
<version>1.13.5-SNAPSHOT</version>
<version>1.13.6-SNAPSHOT</version>
</dependency>
<!-- easyopen starter -->

@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.gitee.sop</groupId>
<artifactId>sop-common</artifactId>
<version>1.13.5-SNAPSHOT</version>
<version>1.13.6-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>

@ -5,11 +5,11 @@
<parent>
<groupId>com.gitee.sop</groupId>
<artifactId>sop-common</artifactId>
<version>1.13.5-SNAPSHOT</version>
<version>1.13.6-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>sop-gateway-common</artifactId>
<version>1.13.5-SNAPSHOT</version>
<version>1.13.6-SNAPSHOT</version>
<packaging>jar</packaging>
<name>sop-gateway-common</name>

@ -37,6 +37,7 @@ public abstract class BaseExecutorAdapter<T, R> implements ResultExecutor<T, R>
private static final ErrorMeta SUCCESS_META = ErrorEnum.SUCCESS.getErrorMeta();
private static final ErrorMeta ISP_UNKNOW_ERROR_META = ErrorEnum.ISP_UNKNOW_ERROR.getErrorMeta();
private static final ErrorMeta ISP_BIZ_ERROR = ErrorEnum.BIZ_ERROR.getErrorMeta();
private static final ErrorMeta ISV_MISSING_METHOD_META = ErrorEnum.ISV_MISSING_METHOD.getErrorMeta();
public static final String GATEWAY_CODE_NAME = "code";
public static final String GATEWAY_MSG_NAME = "msg";
@ -90,6 +91,10 @@ public abstract class BaseExecutorAdapter<T, R> implements ResultExecutor<T, R>
responseData = JSON.parseObject(serviceResult);
responseData.put(GATEWAY_CODE_NAME, ISP_BIZ_ERROR.getCode());
responseData.put(GATEWAY_MSG_NAME, ISP_BIZ_ERROR.getError().getMsg());
} else if(responseStatus == HttpStatus.NOT_FOUND.value()) {
responseData = JSON.parseObject(serviceResult);
responseData.put(GATEWAY_CODE_NAME, ISV_MISSING_METHOD_META.getCode());
responseData.put(GATEWAY_MSG_NAME, ISV_MISSING_METHOD_META.getError().getCode());
} else {
this.storeError(request, ErrorType.UNKNOWN);
// 微服务端有可能返回500错误

@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.gitee.sop</groupId>
<artifactId>sop-registry-api</artifactId>
<version>1.13.5-SNAPSHOT</version>
<version>1.13.6-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

@ -6,11 +6,11 @@
<parent>
<groupId>com.gitee.sop</groupId>
<artifactId>sop-common</artifactId>
<version>1.13.5-SNAPSHOT</version>
<version>1.13.6-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>sop-service-common</artifactId>
<version>1.13.5-SNAPSHOT</version>
<version>1.13.6-SNAPSHOT</version>
<packaging>jar</packaging>
<name>sop-service-common</name>

@ -3,11 +3,8 @@ package com.gitee.sop.servercommon.configuration;
import com.gitee.sop.servercommon.bean.ServiceConfig;
import com.gitee.sop.servercommon.param.SopHandlerMethodArgumentResolver;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;
import java.util.List;
/**
* 具备支付宝开放平台服务提供能力
* @author tanghc
@ -22,13 +19,6 @@ public class AlipayServiceConfiguration extends BaseServiceConfiguration {
@Autowired
private RequestMappingHandlerAdapter requestMappingHandlerAdapter;
@Override
protected void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
super.addArgumentResolvers(argumentResolvers);
SopHandlerMethodArgumentResolver sopHandlerMethodArgumentResolver = ServiceConfig.getInstance().getMethodArgumentResolver();
argumentResolvers.add(sopHandlerMethodArgumentResolver);
}
@Override
protected void doAfter() {
super.doAfter();

@ -63,13 +63,7 @@ public class ApiMappingRequestCondition implements RequestCondition<ApiMappingRe
*/
@Override
public int compareTo(ApiMappingRequestCondition other, HttpServletRequest request) {
if (null != apiMappingInfo && null == other.apiMappingInfo) {
return 1;
} else if (null == apiMappingInfo && null != other.apiMappingInfo) {
return -1;
} else {
return 0;
}
return this.apiMappingInfo.getVersion().compareTo(other.apiMappingInfo.getVersion());
}
}

@ -17,12 +17,15 @@ import org.springframework.web.method.support.ModelAndViewContainer;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;
import org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.ConcurrentHashMap;
/**
@ -42,14 +45,29 @@ public class ApiArgumentResolver implements SopHandlerMethodArgumentResolver {
@Override
public void setRequestMappingHandlerAdapter(RequestMappingHandlerAdapter requestMappingHandlerAdapter) {
this.requestMappingHandlerAdapter = requestMappingHandlerAdapter;
List<HandlerMethodArgumentResolver> argumentResolversNew = new ArrayList<>(64);
// 先加自己
argumentResolversNew.add(this);
HandlerMethodArgumentResolver lastOne = null;
for (HandlerMethodArgumentResolver argumentResolver : Objects.requireNonNull(requestMappingHandlerAdapter.getArgumentResolvers())) {
// RequestResponseBodyMethodProcessor暂存起来,放在最后面
if (argumentResolver instanceof RequestResponseBodyMethodProcessor) {
lastOne = argumentResolver;
} else {
argumentResolversNew.add(argumentResolver);
}
}
if (lastOne != null) {
argumentResolversNew.add(lastOne);
}
this.requestMappingHandlerAdapter.setArgumentResolvers(argumentResolversNew);
}
@Override
public boolean supportsParameter(MethodParameter methodParameter) {
boolean hasAnnotation = methodParameter.getMethodAnnotation(ApiMapping.class) != null
|| methodParameter.getMethodAnnotation(ApiAbility.class) != null;
// 有注解
return hasAnnotation;
return methodParameter.getMethodAnnotation(ApiMapping.class) != null
|| methodParameter.getMethodAnnotation(ApiAbility.class) != null;
}
@Override

@ -26,7 +26,7 @@
<dependency>
<groupId>com.gitee.sop</groupId>
<artifactId>sop-service-common</artifactId>
<version>1.13.5-SNAPSHOT</version>
<version>1.13.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>

@ -26,7 +26,7 @@ public class RefreshTokenTest extends TestCase {
OpenAuthTokenAppRequest request = new OpenAuthTokenAppRequest();
OpenAuthTokenAppModel model = new OpenAuthTokenAppModel();
model.setGrant_type("refresh_token");
model.setRefresh_token("856faf8d77d3b985c1073557ce6ea724");
model.setRefresh_token("c9e4003c06fe59066eed73d64ea074ca");
request.setBizModel(model);
OpenAuthTokenAppResponse response = openClient.execute(request);

@ -24,7 +24,7 @@
<dependency>
<groupId>com.gitee.sop</groupId>
<artifactId>sop-service-common</artifactId>
<version>1.13.5-SNAPSHOT</version>
<version>1.13.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.gitee.sop</groupId>

@ -29,7 +29,7 @@
<dependency>
<groupId>com.gitee.sop</groupId>
<artifactId>sop-service-common</artifactId>
<version>1.13.5-SNAPSHOT</version>
<version>1.13.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>

@ -20,7 +20,7 @@
<dependency>
<groupId>com.gitee.sop</groupId>
<artifactId>sop-service-common</artifactId>
<version>1.13.5-SNAPSHOT</version>
<version>1.13.6-SNAPSHOT</version>
</dependency>
<!-- eureka 服务发现 -->
<dependency>

@ -24,7 +24,7 @@
<dependency>
<groupId>com.gitee.sop</groupId>
<artifactId>sop-service-common</artifactId>
<version>1.13.5-SNAPSHOT</version>
<version>1.13.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.gitee.sop</groupId>

@ -6,6 +6,7 @@ import com.gitee.sop.servercommon.bean.OpenContext;
import com.gitee.sop.story.api.domain.Story;
import com.gitee.sop.storyweb.controller.param.StoryParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
@ -23,7 +24,7 @@ public class PostJsonController {
* @return
*/
@ApiMapping("demo.post.json")
public Story postJson(StoryParam param) {
public Story postJson(@RequestBody StoryParam param) {
// 获取开放平台请求参数
OpenContext openContext = ServiceContext.getCurrentContext().getOpenContext();
List<Object> params = Arrays.asList(

@ -23,7 +23,7 @@
<dependency>
<groupId>com.gitee.sop</groupId>
<artifactId>sop-gateway-common</artifactId>
<version>1.13.5-SNAPSHOT</version>
<version>1.13.6-SNAPSHOT</version>
</dependency>
<!-- ↓↓↓ 使用spring cloud zuul ↓↓↓

@ -25,7 +25,7 @@
<dependency>
<groupId>com.gitee.sop</groupId>
<artifactId>sop-registry-api</artifactId>
<version>1.13.5-SNAPSHOT</version>
<version>1.13.6-SNAPSHOT</version>
</dependency>
<dependency>

Loading…
Cancel
Save