Skip to content

Instantly share code, notes, and snippets.

@lemos1235
Last active September 20, 2023 03:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lemos1235/41d02796f18ae88f8e4f80627cc74e94 to your computer and use it in GitHub Desktop.
Save lemos1235/41d02796f18ae88f8e4f80627cc74e94 to your computer and use it in GitHub Desktop.
apifox-helper
# swagger3
#Hidden
ignore=@io.swagger.v3.oas.annotations.Hidden
field.ignore=@io.swagger.v3.oas.annotations.Hidden
param.ignore=@io.swagger.v3.oas.annotations.Hidden
#Operation
method.doc=@io.swagger.v3.oas.annotations.Operation#summary
method.default.http.method=@io.swagger.v3.oas.annotations.Operation#method
api.tag=@io.swagger.v3.oas.annotations.Operation#tags
api.tag[@io.swagger.v3.oas.annotations.Operation#deprecated]=deprecated
#Tag(s)
api.tag=@io.swagger.v3.oas.annotations.tags.Tag#name
api.tag[@io.swagger.v3.oas.annotations.tags.Tags]=groovy:```
@it.annValue("io.swagger.v3.oas.annotations.tags.Tags").collect{it.name}
```
#Model
field.doc=@io.swagger.v3.oas.annotations.media.Schema#description
field.required=@io.swagger.v3.oas.annotations.media.Schema#required
field.ignore=@io.swagger.v3.oas.annotations.media.Schema#hidden
#Parameter
param.ignore=@io.swagger.v3.oas.annotations.Parameter#hidden
param.required=@io.swagger.v3.oas.annotations.Parameter#required
param.doc[@io.swagger.v3.oas.annotations.Parameter#deprecated]=「已废弃」
param.doc=@io.swagger.v3.oas.annotations.Parameter#description
# resolve the parameters from Parameter
resolve_parameter=```
def desc = map.description
def paramType = map.in?.value ?: "query"
def required = map.required?:true
if(paramType==""||paramType=="query"){
api.setParam(map.name,null,required,desc)
}else if(paramType=="path"){
api.setPathParam(map.name,null,desc)
}else if(paramType=="header"){
api.setHeader(map.name,null,required,desc)
}
```
# extract parameter from Parameter
export.after[@io.swagger.annotations.Parameter]=groovy:```
def map = it.annMap("io.swagger.annotations.Parameter")
${resolve_parameter}
```
# extract parameters from Parameters
export.after[@io.swagger.annotations.Parameters]=groovy:```
def maps = it.annMap("io.swagger.annotations.Parameters")
for(map in maps.value){
${resolve_parameter}
}
```
# swaggerv3 extract parameters from Parameters
export.after[@io.swagger.v3.oas.annotations.Parameters]=groovy:```
def maps = it.annMap("io.swagger.v3.oas.annotations.Parameters")
for(map in maps.value){
${resolve_parameter}
}
```
# extract parameters from Operation.parameters
export.after[@io.swagger.v3.oas.annotations.Operation]=groovy:```
def maps = it.annMap("io.swagger.v3.oas.annotations.Operation").parameters
if(maps==null)return
for(map in maps){
${resolve_parameter}
}
```
# Resolve the response from `APIResponse` into the API description
resolve_swagger3_api_response=```
api.setResponseCode(map.responseCode?:200)
api.appendResponseBodyDesc(map.description)
def responseHeaders = map.headers
if(responseHeaders!=null){
for(responseHeader in responseHeaders) {
api.setResponseHeader(responseHeader.name,"",responseHeader.required?:true,responseHeader.description)
}
}
```
# Resolve `APIResponse` into the API description
export.after[@io.swagger.v3.oas.annotations.responses.ApiResponse]=groovy:```
def map = it.annMap("io.swagger.v3.oas.annotations.responses.ApiResponse")
${resolve_swagger3_api_response}
```
# Resolve `APIResponses` into the API description
export.after[@io.swagger.v3.oas.annotations.responses.ApiResponses]=groovy:```
def maps = it.annMap("io.swagger.v3.oas.annotations.responses.ApiResponses")
for(map in maps.value){
${resolve_swagger3_api_response}
}
```
# extract parameters from Operation.parameters
export.after[@io.swagger.v3.oas.annotations.Operation]=groovy:```
def maps = it.annMap("io.swagger.v3.oas.annotations.Operation").responses
if(maps==null)return
for(map in maps){
${resolve_swagger3_api_response}
}
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment