diff --git a/cmd/sponge/commands/generate/swagger.go b/cmd/sponge/commands/generate/swagger.go index 5be2a6a..a8b4734 100644 --- a/cmd/sponge/commands/generate/swagger.go +++ b/cmd/sponge/commands/generate/swagger.go @@ -25,6 +25,7 @@ func HandleSwaggerJSONCommand() *cobra.Command { enableUniformResponse bool enableConvertToOpenAPI3 bool enableTransformIntegerToString bool + enableStringToInteger bool jsonFile string ) @@ -47,6 +48,13 @@ func HandleSwaggerJSONCommand() *cobra.Command { RunE: func(cmd *cobra.Command, args []string) error { var err error + if enableStringToInteger { + if err = handleSwaggerFieldStringToInteger(jsonFile); err != nil { + return err + } + fmt.Printf("Successfully transform 64-bit string to integer in %s fields\n", jsonFile) + } + if enableUniformResponse { if err = handleStandardizeResponseAction(jsonFile); err != nil { return err @@ -62,17 +70,6 @@ func HandleSwaggerJSONCommand() *cobra.Command { fmt.Printf("Successfully convert swagger2.0 to openapi3.0, output: %s, %s\n", outputJSONFile, outputYamlFile) } - if enableTransformIntegerToString { - if err = handleSwaggerIntegerToStringAction(jsonFile); err != nil { - return err - } - fmt.Printf("Successfully transform 64-bit integer to string in %s fields\n", jsonFile) - } - - if enableUniformResponse == false && enableConvertToOpenAPI3 == false && enableTransformIntegerToString == false { //nolint - fmt.Println("No action specified, please use 'sponge web swagger -h' to see available options.") - } - return nil }, } @@ -80,7 +77,8 @@ func HandleSwaggerJSONCommand() *cobra.Command { cmd.Flags().StringVarP(&jsonFile, "file", "f", "docs/apis.swagger.json", "input swagger json file") cmd.Flags().BoolVarP(&enableUniformResponse, "enable-standardize-response", "u", false, "standardize response format data in swagger json") cmd.Flags().BoolVarP(&enableConvertToOpenAPI3, "enable-to-openapi3", "o", false, "convert swagger2.0 to openapi3") - cmd.Flags().BoolVarP(&enableTransformIntegerToString, "enable-integer-to-string", "s", true, "transform 64-bit integer into string in swagger.json fields") + cmd.Flags().BoolVarP(&enableStringToInteger, "enable-string-to-integer", "t", true, "transform string into 64-bit integer in swagger.json fields") + cmd.Flags().BoolVarP(&enableTransformIntegerToString, "enable-integer-to-string", "s", false, "Deprecated, instead use --enable-string-to-integer") return cmd } @@ -470,7 +468,7 @@ func getOutputFile(filePath string) (yamlFile string, jsonFile string) { // ------------------------------------------------------------------------------------------- -func handleSwaggerIntegerToStringAction(jsonFilePath string) error { +func handleSwaggerFieldStringToInteger(jsonFilePath string) error { newData, err := convertStringToInteger(jsonFilePath) if err != nil { return err diff --git a/scripts/protoc.sh b/scripts/protoc.sh index e8889e5..5099d35 100644 --- a/scripts/protoc.sh +++ b/scripts/protoc.sh @@ -201,7 +201,7 @@ function generateBySpecifiedProto(){ checkResult $? # handle apis.swagger.json - sponge web swagger --enable-standardize-response --enable-to-openapi3 --enable-integer-to-string --file=docs/apis.swagger.json > /dev/null + sponge web swagger --enable-standardize-response --enable-to-openapi3 --file=docs/apis.swagger.json > /dev/null # A total of four files are generated: the registration route file *_router.pb.go (saved in the same directory as the protobuf file), # the injection route file *_router.go (saved in internal/routers by default), the logic code template file *.go (saved in internal/service by default), diff --git a/scripts/run.sh b/scripts/run.sh index 3a9c5c2..e121dc0 100644 --- a/scripts/run.sh +++ b/scripts/run.sh @@ -27,6 +27,8 @@ sleep 0.2 go build -o ${binaryFile} cmd/${serverName}/main.go checkResult $? +trap 'exit 0' SIGINT + # running server if test -f "$configFile"; then ./${binaryFile} -c $configFile diff --git a/scripts/swag-docs.sh b/scripts/swag-docs.sh index 85021c7..1b6cfc9 100644 --- a/scripts/swag-docs.sh +++ b/scripts/swag-docs.sh @@ -30,7 +30,7 @@ checkResult $? sponge patch modify-dup-num --dir=internal/ecode sponge patch modify-dup-err-code --dir=internal/ecode # handle swagger.json -sponge web swagger --enable-to-openapi3 --enable-integer-to-string --file=docs/swagger.json > /dev/null +sponge web swagger --enable-to-openapi3 --file=docs/swagger.json > /dev/null colorGreen='\033[1;32m' colorCyan='\033[1;36m'