@@ -8,25 +8,38 @@ import java.io.File
8
8
9
9
object RequestBodyModelGenerate {
10
10
11
- fun createRequestBodyModel (className : String , rootDir : File , packName : String , apiInfo : ApiInfoBean ): FileSpec ? {
11
+ /* *
12
+ * @return Boolean 是否是List
13
+ */
14
+ fun createRequestBodyModel (className : String , rootDir : File , packName : String , apiInfo : ApiInfoBean ): Pair <FileSpec ?, Boolean > {
12
15
if (apiInfo.req_body_is_json_schema) {
13
16
val cacheTypeList = ArrayList <TypeSpec >()
14
17
val jsonSchema = Gson ().fromJson(apiInfo.req_body_other, JsonSchemaBean ::class .java)
15
- val req = ResponseModelGenerate .analysisJsonSchema (jsonSchema, className, cacheTypeList)
16
- val requestBodyFileBuilder = FileSpec .builder(packName , className)
17
- if (req is TypeSpec ) {
18
+ if (jsonSchema.type == " object " ) {
19
+ ResponseModelGenerate .analysisJsonSchema(jsonSchema , className, cacheTypeList )
20
+ val requestBodyFileBuilder = FileSpec .builder(packName, className)
18
21
// 普通类
19
22
cacheTypeList.forEach {
20
23
requestBodyFileBuilder.addType(it)
21
24
}
22
- return requestBodyFileBuilder.build().apply {
25
+ return Pair ( requestBodyFileBuilder.build().apply {
23
26
ResponseModelGenerate .writeTo(this , rootDir, cacheTypeList)
27
+ }, false )
28
+ } else if (jsonSchema.type == " array" ) {
29
+ // 不支持List套List
30
+ if (jsonSchema.items.type == " object" ) {
31
+ ResponseModelGenerate .analysisJsonSchema(jsonSchema.items, className, cacheTypeList)
32
+ val requestBodyFileBuilder = FileSpec .builder(packName, className)
33
+ // 普通类
34
+ cacheTypeList.forEach {
35
+ requestBodyFileBuilder.addType(it)
36
+ }
37
+ return Pair (requestBodyFileBuilder.build().apply {
38
+ ResponseModelGenerate .writeTo(this , rootDir, cacheTypeList)
39
+ }, true )
24
40
}
25
- } else if (req is PropertySpec && req.type.toString() == LIST .toString()) {
26
- // List
27
- println (1 )
28
41
}
29
42
}
30
- return null
43
+ return Pair ( null , false )
31
44
}
32
45
}
0 commit comments