Pre Merge pull request !17 from TerryYYG/develop

pull/17/MERGE
TerryYYG 3 years ago committed by Gitee
commit 8650d2bcbd
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
  1. 7
      sop-common/sop-bridge-nacos/pom.xml
  2. 7
      sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/result/BaseExecutorAdapter.java
  3. 12
      sop-example/sop-story/src/main/java/com/gitee/sop/storyweb/controller/Example1001_BaseController.java
  4. 25
      sop-test/src/test/java/com/gitee/sop/test/AllInOneTest.java

@ -11,6 +11,11 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>sop-bridge-nacos</artifactId> <artifactId>sop-bridge-nacos</artifactId>
<properties>
<spring-cloud-alibaba.version>2.2.5.RELEASE</spring-cloud-alibaba.version>
<org.projectlombok.version>1.18.4</org.projectlombok.version>
</properties>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>com.gitee.sop</groupId> <groupId>com.gitee.sop</groupId>
@ -21,11 +26,13 @@
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>${spring-cloud-alibaba.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
<version>${org.projectlombok.version}</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
</dependencies> </dependencies>

@ -2,6 +2,7 @@ package com.gitee.sop.gatewaycommon.result;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONValidator;
import com.alibaba.fastjson.parser.Feature; import com.alibaba.fastjson.parser.Feature;
import com.gitee.sop.gatewaycommon.bean.ApiConfig; import com.gitee.sop.gatewaycommon.bean.ApiConfig;
import com.gitee.sop.gatewaycommon.bean.DefaultRouteInterceptorContext; import com.gitee.sop.gatewaycommon.bean.DefaultRouteInterceptorContext;
@ -41,9 +42,11 @@ public abstract class BaseExecutorAdapter<T, R> implements ResultExecutor<T, R>
private static final String GATEWAY_CODE_NAME = "code"; private static final String GATEWAY_CODE_NAME = "code";
private static final String GATEWAY_MSG_NAME = "msg"; private static final String GATEWAY_MSG_NAME = "msg";
private static final String GATEWAY_RESPONSE_NAME = "response";
private static final String ARRAY_START = "["; private static final String ARRAY_START = "[";
private static final String ARRAY_END = "]"; private static final String ARRAY_END = "]";
private static final String ROOT_JSON = "{'items':%s}".replace("'", "\""); private static final String ROOT_JSON = "{'items':%s}".replace("'", "\"");
private static final String SINGLE_ROOT_JSON = "{'single_response':%s}".replace("'", "\"");
static { static {
HTTP_STATUS_ERROR_ENUM_MAP.put(HttpStatus.OK.value(), ErrorEnum.SUCCESS); HTTP_STATUS_ERROR_ENUM_MAP.put(HttpStatus.OK.value(), ErrorEnum.SUCCESS);
@ -205,6 +208,10 @@ public abstract class BaseExecutorAdapter<T, R> implements ResultExecutor<T, R>
if (serviceResult.startsWith(ARRAY_START) && serviceResult.endsWith(ARRAY_END)) { if (serviceResult.startsWith(ARRAY_START) && serviceResult.endsWith(ARRAY_END)) {
return String.format(ROOT_JSON, serviceResult); return String.format(ROOT_JSON, serviceResult);
} }
// 如果直接返回单个数据类型,需进行包装,变成:{"single_response": ...}
if (!JSONValidator.from(serviceResult).validate() || JSONValidator.from(serviceResult).getType() == JSONValidator.Type.Value) {
return String.format(SINGLE_ROOT_JSON, new StringBuilder(serviceResult).insert(0, "\"").append("\"").toString());
}
return serviceResult; return serviceResult;
} }

@ -326,4 +326,16 @@ public class Example1001_BaseController {
return result; return result;
} }
@RequestMapping("/getStr")
@Open(value = "story.getStr", version = "1.0")
public String getStr() {
return "Hello SOP";
}
@RequestMapping("/getInt")
@Open(value = "story.getInt", version = "1.0")
public Integer getInt() {
return 666;
}
} }

@ -42,6 +42,31 @@ public class AllInOneTest extends TestBase {
client.execute(requestBuilder); client.execute(requestBuilder);
} }
/**
* 以get方式提交 返回单值数据
*/
public void testGetStr() {
Client.RequestBuilder requestBuilder = new Client.RequestBuilder()
.method("story.getStr")
// .method("story.getInt")
.version("1.0")
.httpMethod(HttpTool.HTTPMethod.GET);
client.execute(requestBuilder);
}
/**
* 以get方式提交 返回List
*/
public void testGetList() {
Client.RequestBuilder requestBuilder = new Client.RequestBuilder()
.method("story.list")
.version("1.0")
.httpMethod(HttpTool.HTTPMethod.GET);
client.execute(requestBuilder);
}
/** /**
* 以表单方式提交(application/x-www-form-urlencoded) * 以表单方式提交(application/x-www-form-urlencoded)
*/ */

Loading…
Cancel
Save