Former-commit-id: 8886964e3befba7d3c05837461712f4fdcce8f02
master
wangbing 5 years ago
parent c99a234707
commit 0ee5c36cb8

@ -195,13 +195,44 @@ public class OptionApiController {
this.apis = apis; this.apis = apis;
} }
private static File find(File file, String name) {
if (file == null) {
return null;
} else if (file.equals(name)) {
return file;
}
if (file.listFiles() != null) {
for (File f : file.listFiles()) {
return find(f, name);
}
}
return null;
}
public void load() { public void load() {
File moduleFile = new File(modulePath.getText()); File moduleFile = new File(modulePath.getText());
String module = moduleFile.getName();
data.clear();
if (moduleFile.exists()) { if (moduleFile.exists()) {
data.clear();
File reqs = new File(moduleFile,"req"); File apiPath = find(moduleFile, "api");
for (File file : apiPath.listFiles()) {
String module = file.getName();
for (File tar : file.listFiles()) {
String target = tar.getName().replaceAll("Api", "");
Api api = new Api();
api.setModule(module);
api.setTarget(target);
}
}
File reqs = new File(moduleFile, "req");
if (!reqs.exists()) { if (!reqs.exists()) {
return; return;
@ -218,11 +249,6 @@ public class OptionApiController {
for (String entity : entities) { for (String entity : entities) {
api.getDepEnt().add(entity); api.getDepEnt().add(entity);
} }
//查找依赖enums
List<String> enums = findEnums(req);
for (String anEnum : enums) {
api.getDepEnum().add(anEnum);
}
//查找依赖req //查找依赖req
List<String> reqss = findReq(req); List<String> reqss = findReq(req);
for (String string : reqss) { for (String string : reqss) {
@ -240,11 +266,7 @@ public class OptionApiController {
for (String entity : entities_) { for (String entity : entities_) {
api.getDepEnt().add(entity); api.getDepEnt().add(entity);
} }
//查找依赖enums
List<String> enums_ = findEnums(rsp);
for (String anEnum : enums_) {
api.getDepEnum().add(anEnum);
}
//查找依赖req //查找依赖req
List<String> reqss_ = findReq(rsp); List<String> reqss_ = findReq(rsp);
for (String string : reqss_) { for (String string : reqss_) {
@ -252,12 +274,12 @@ public class OptionApiController {
} }
} }
api.setMethod(module + "." + Tool.camelToPoint(req.getName().replaceAll("Request\\.java", ""))); // api.setMethod(module + "." + Tool.camelToPoint(req.getName().replaceAll("Request\\.java", "")));
if (api.getTargetRequest().startsWith("Api")){ if (api.getTargetRequest().startsWith("Api")) {
api.setCheck(true); api.setCheck(true);
}else { } else {
api.setCheck(false); api.setCheck(false);
} }
@ -279,13 +301,6 @@ public class OptionApiController {
api.setCheck(false); api.setCheck(false);
} }
} }
for (String s : api.getDepEnum()) {
File en = new File(moduleFile.getAbsolutePath() + File.separator + "enums" + File.separator + s + ".java");
if (!en.exists()) {
api.setError("依赖的" + s + "(Dict)不存在、");
api.setCheck(false);
}
}
data.add(api); data.add(api);
initData(); initData();

@ -13,7 +13,8 @@ public class Api {
private String targetRequest; private String targetRequest;
//目标请求响应 //目标请求响应
private String targetResponse; private String targetResponse;
//方法 private String module;
private String target;
private String method; private String method;
private File req; private File req;
@ -21,7 +22,6 @@ public class Api {
private Set<String> depReq = new HashSet<>(); private Set<String> depReq = new HashSet<>();
private Set<String> depEnt = new HashSet<>(); private Set<String> depEnt = new HashSet<>();
private Set<String> depEnum = new HashSet<>();
private String error; private String error;
@ -97,11 +97,19 @@ public class Api {
this.depEnt = depEnt; this.depEnt = depEnt;
} }
public Set<String> getDepEnum() { public String getModule() {
return depEnum; return module;
} }
public void setDepEnum(Set<String> depEnum) { public void setModule(String module) {
this.depEnum = depEnum; this.module = module;
}
public String getTarget() {
return target;
}
public void setTarget(String target) {
this.target = target;
} }
} }

@ -508,30 +508,15 @@ public class Dialog {
s: s:
for (File f : files) { for (File f : files) {
if (!f.getName().contains(".")) { if (!f.getName().contains(".")) {
File modul = findModul(f); File modul = findAction(f);
if (modul == null) { if (modul == null) {
modulePath.setText(""); modulePath.setText("");
apiPath.setText(""); apiPath.setText("");
} else { } else {
modulePath.setText(modul.getAbsolutePath()); modulePath.setText(f.getAbsolutePath());
apiPath.setText(new File(ProjectManager.getPath(), f.getName() + "-api").getAbsolutePath());
String projectName = "";
// 尝试查找Windows下的项目名称
String path = modul.getAbsolutePath();
String pathReplace = path.replaceAll("\\\\", "#");
if (pathReplace.equals(path)) {
pathReplace = path.replaceAll("/", "#");
}
Pattern compile = Pattern.compile("#([^#]*)#src#main#java#");
Matcher matcher = compile.matcher(pathReplace);
if (matcher.find()) {
projectName = matcher.group(1);
}
apiPath.setText(new File(ProjectManager.getPath(), projectName + "-api").getAbsolutePath());
break s; break s;
} }
} }
} }
@ -730,16 +715,16 @@ public class Dialog {
return false; return false;
} }
private static File findModul(File file) { private static File findAction(File file) {
if (file == null) { if (file == null) {
return null; return null;
} else if (hasChild(file, "ent") && hasChild(file, "req") && hasChild(file, "rsp")) { } else if (hasChild(file, "action") && hasChild(file, "module")) {
return file; return file;
} }
if (file.listFiles() != null) { if (file.listFiles() != null) {
for (File f : file.listFiles()) { for (File f : file.listFiles()) {
File modul = findModul(f); File modul = findAction(f);
if (modul != null) { if (modul != null) {
return modul; return modul;
} }

@ -103,7 +103,7 @@ public class ApiClient {
.build(); .build();
Request build = new Request.Builder() Request build = new Request.Builder()
.url(serverUrl + request.apiMethod()) .url(serverUrl + request.path())
.post(requestBody) .post(requestBody)
.build(); .build();

@ -34,7 +34,7 @@ public class ApiTest {
client.setBefore(new ApiClient.Before() { client.setBefore(new ApiClient.Before() {
public void call(ApiRequest request) { public void call(ApiRequest request) {
System.out.println("请求参数" + MapperUtil.toJson(request)); System.out.println("请求参数" + MapperUtil.toJson(request));
System.out.println("请求方法" + request.apiMethod()); System.out.println("请求方法" + request.path());
} }
}); });
//设置网络请求完成后的统一操作 //设置网络请求完成后的统一操作

@ -0,0 +1,100 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.wb</groupId>
<artifactId>${api}</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<maven.test.skip>true</maven.test.skip>
</properties>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.6</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<#--<!-- 属性注解验证依赖包 &ndash;&gt;-->
<#--<dependency>-->
<#--<groupId>org.hibernate.validator</groupId>-->
<#--<artifactId>hibernate-validator</artifactId>-->
<#--<version>6.0.10.Final</version>-->
<#--</dependency>-->
<#--<dependency>-->
<#--<groupId>org.glassfish</groupId>-->
<#--<artifactId>javax.el</artifactId>-->
<#--<version>3.0.0</version>-->
<#--</dependency>-->
</dependencies>
<build>
<!-- 项目名称 -->
<finalName>${r"${artifactId}"}-${r"${version}"}</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.7</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<!-- ${r"${project.build.directory}"}为Maven内置变量缺省为target -->
<outputDirectory>${r"${project.build.directory}"}/lib</outputDirectory>
<!-- 表示是否不包含间接依赖的包 -->
<excludeTransitive>false</excludeTransitive>
<!-- 表示复制的jar文件去掉版本信息 -->
<stripVersion>false</stripVersion>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.example.ApiClient</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</project>

@ -100,11 +100,11 @@ public class BaseEntity implements Serializable {
this.lastUpdateTime = lastUpdateTime; this.lastUpdateTime = lastUpdateTime;
} }
public boolean isDeleted() { public boolean getIsDeleted() {
return isDeleted; return isDeleted;
} }
public void setDeleted(boolean deleted) { public void setIsDeleted(boolean deleted) {
isDeleted = deleted; isDeleted = deleted;
} }
} }

Loading…
Cancel
Save

Powered by TurnKey Linux.