From 27d1e380b8ef916015fd0e70234db95ecedd1666 Mon Sep 17 00:00:00 2001 From: wing328 Date: Sun, 24 Jan 2016 22:08:05 +0800 Subject: [PATCH 1/4] rename nodejs to nodejs-server --- bin/nodejs-petstore-server.sh | 2 +- .../languages/NodeJSServerCodegen.java | 2 +- .../options/NodeJSServerOptionsProvider.java | 2 +- samples/server/petstore/nodejs/README.md | 6 +- .../server/petstore/nodejs/api/swagger.yaml | 62 +++++++++++++++++++ .../server/petstore/nodejs/controllers/Pet.js | 8 +++ .../petstore/nodejs/controllers/PetService.js | 34 ++++++++++ .../nodejs/controllers/StoreService.js | 4 +- samples/server/petstore/nodejs/package.json | 2 +- 9 files changed, 113 insertions(+), 9 deletions(-) diff --git a/bin/nodejs-petstore-server.sh b/bin/nodejs-petstore-server.sh index 5d797903791..bb5d70ab4a8 100755 --- a/bin/nodejs-petstore-server.sh +++ b/bin/nodejs-petstore-server.sh @@ -26,6 +26,6 @@ fi # if you've executed sbt assembly previously it will use that instead. export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties" -ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l nodejs -o samples/server/petstore/nodejs" +ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l nodejs-server -o samples/server/petstore/nodejs" java $JAVA_OPTS -Dservice -jar $executable $ags diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/NodeJSServerCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/NodeJSServerCodegen.java index 6fa031050bb..2d9a8b0d578 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/NodeJSServerCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/NodeJSServerCodegen.java @@ -129,7 +129,7 @@ public class NodeJSServerCodegen extends DefaultCodegen implements CodegenConfig */ @Override public String getName() { - return "nodejs"; + return "nodejs-server"; } /** diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/NodeJSServerOptionsProvider.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/NodeJSServerOptionsProvider.java index 3d49fcb8d01..6252bbd08fc 100644 --- a/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/NodeJSServerOptionsProvider.java +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/NodeJSServerOptionsProvider.java @@ -12,7 +12,7 @@ public class NodeJSServerOptionsProvider implements OptionsProvider { @Override public String getLanguage() { - return "nodejs"; + return "nodejs-server"; } @Override diff --git a/samples/server/petstore/nodejs/README.md b/samples/server/petstore/nodejs/README.md index 2efc45fe33e..d94aa385ec0 100644 --- a/samples/server/petstore/nodejs/README.md +++ b/samples/server/petstore/nodejs/README.md @@ -1,11 +1,11 @@ # Swagger generated server ## Overview -This server was generated by the [swagger-codegen](https://github.com/swagger-api/swagger-codegen) project. By using the [swagger-spec](https://github.com/OAI/OpenAPI-Specification) from a remote server, you can easily generate a server stub. This is an example of building a node.js server. +This server was generated by the [swagger-codegen](https://github.com/swagger-api/swagger-codegen) project. By using the [OpenAPI-Spec](https://github.com/OAI/OpenAPI-Specification) from a remote server, you can easily generate a server stub. This is an example of building a node.js server. This example uses the [expressjs](http://expressjs.com/) framework. To see how to make this your own, look here: -[README](https://github.com/swagger-api/swagger-codegen/README.md) +[README](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) ### Running the server To run the server, follow these simple steps: @@ -21,4 +21,4 @@ To view the Swagger UI interface: open http://localhost:8080/docs ``` -This project leverages the mega-awesome [swagger-tools](https://github.com/apigee-127/swagger-tools) middleware which does most all the work. \ No newline at end of file +This project leverages the mega-awesome [swagger-tools](https://github.com/apigee-127/swagger-tools) middleware which does most all the work. diff --git a/samples/server/petstore/nodejs/api/swagger.yaml b/samples/server/petstore/nodejs/api/swagger.yaml index 49a3405de09..9df1164d008 100644 --- a/samples/server/petstore/nodejs/api/swagger.yaml +++ b/samples/server/petstore/nodejs/api/swagger.yaml @@ -271,6 +271,68 @@ paths: - petstore_auth: - "write:pets" - "read:pets" + /pet/{petId}?testing_byte_array=true: + get: + tags: + - "pet" + summary: "Fake endpoint to test byte array return by 'Find pet by ID'" + description: "Returns a pet when ID < 10. ID > 10 or nonintegers will simulate\ + \ API error conditions" + operationId: "getPetByIdWithByteArray" + produces: + - "application/json" + - "application/xml" + parameters: + - name: "petId" + in: "path" + description: "ID of pet that needs to be fetched" + required: true + type: "integer" + format: "int64" + responses: + 200: + description: "successful operation" + schema: + type: "string" + format: "binary" + 400: + description: "Invalid ID supplied" + 404: + description: "Pet not found" + security: + - api_key: [] + - petstore_auth: + - "write:pets" + - "read:pets" + /pet?testing_byte_array=true: + post: + tags: + - "pet" + summary: "Fake endpoint to test byte array in body parameter for adding a new\ + \ pet to the store" + description: "" + operationId: "addPetUsingByteArray" + consumes: + - "application/json" + - "application/xml" + produces: + - "application/json" + - "application/xml" + parameters: + - in: "body" + name: "body" + description: "Pet object in the form of byte array" + required: false + schema: + type: "string" + format: "binary" + responses: + 405: + description: "Invalid input" + security: + - petstore_auth: + - "write:pets" + - "read:pets" /store/inventory: get: tags: diff --git a/samples/server/petstore/nodejs/controllers/Pet.js b/samples/server/petstore/nodejs/controllers/Pet.js index d272cb8240f..0431db583a9 100644 --- a/samples/server/petstore/nodejs/controllers/Pet.js +++ b/samples/server/petstore/nodejs/controllers/Pet.js @@ -37,3 +37,11 @@ module.exports.deletePet = function deletePet (req, res, next) { module.exports.uploadFile = function uploadFile (req, res, next) { Pet.uploadFile(req.swagger.params, res, next); }; + +module.exports.getPetByIdWithByteArray = function getPetByIdWithByteArray (req, res, next) { + Pet.getPetByIdWithByteArray(req.swagger.params, res, next); +}; + +module.exports.addPetUsingByteArray = function addPetUsingByteArray (req, res, next) { + Pet.addPetUsingByteArray(req.swagger.params, res, next); +}; diff --git a/samples/server/petstore/nodejs/controllers/PetService.js b/samples/server/petstore/nodejs/controllers/PetService.js index 97a1d3ede62..690132ad92f 100644 --- a/samples/server/petstore/nodejs/controllers/PetService.js +++ b/samples/server/petstore/nodejs/controllers/PetService.js @@ -168,5 +168,39 @@ var examples = {}; + res.end(); +} +exports.getPetByIdWithByteArray = function(args, res, next) { + /** + * parameters expected in the args: + * petId (Long) + **/ + +var examples = {}; + + examples['application/json'] = ""; + + + + if(Object.keys(examples).length > 0) { + res.setHeader('Content-Type', 'application/json'); + res.end(JSON.stringify(examples[Object.keys(examples)[0]] || {}, null, 2)); + } + else { + res.end(); + } + + +} +exports.addPetUsingByteArray = function(args, res, next) { + /** + * parameters expected in the args: + * body (byte[]) + **/ + +var examples = {}; + + + res.end(); } diff --git a/samples/server/petstore/nodejs/controllers/StoreService.js b/samples/server/petstore/nodejs/controllers/StoreService.js index 3bb37b6c01f..7c9dbbda312 100644 --- a/samples/server/petstore/nodejs/controllers/StoreService.js +++ b/samples/server/petstore/nodejs/controllers/StoreService.js @@ -37,7 +37,7 @@ var examples = {}; "complete" : true, "status" : "aeiou", "quantity" : 123, - "shipDate" : "2015-11-18T02:43:54.540+0000" + "shipDate" : "2016-01-24T14:07:57.768+0000" }; @@ -66,7 +66,7 @@ var examples = {}; "complete" : true, "status" : "aeiou", "quantity" : 123, - "shipDate" : "2015-11-18T02:43:54.544+0000" + "shipDate" : "2016-01-24T14:07:57.780+0000" }; diff --git a/samples/server/petstore/nodejs/package.json b/samples/server/petstore/nodejs/package.json index 8befd2669d2..bdc8f0167a1 100644 --- a/samples/server/petstore/nodejs/package.json +++ b/samples/server/petstore/nodejs/package.json @@ -1,5 +1,5 @@ { - "name": "", + "name": "swagger-petstore", "version": "1.0.0", "description": "This is a sample server Petstore server. You can find out more about Swagger at http://swagger.io or on irc.freenode.net, #swagger. For this sample, you can use the api key \"special-key\" to test the authorization filters", "main": "index.js", From 84af7cf3de5980858c7566cdc49a1df11373f4ee Mon Sep 17 00:00:00 2001 From: wing328 Date: Tue, 22 Mar 2016 22:09:50 +0800 Subject: [PATCH 2/4] =?UTF-8?q?add=20beemo,=20FH=20M=C3=BCnster?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index afea03e601f..227fc4dfb8d 100644 --- a/README.md +++ b/README.md @@ -729,6 +729,7 @@ Here are some companies/projects using Swagger Codegen in production. To add you - [Activehours](https://www.activehours.com/) - [Acunetix](https://www.acunetix.com/) - [Atlassian](https://www.atlassian.com/) +- [beemo](www.beemo.eu) - [CloudBoost](https://www.CloudBoost.io/) - [Cupix](http://www.cupix.com) - [DocuSign](https://www.docusign.com) @@ -736,6 +737,7 @@ Here are some companies/projects using Swagger Codegen in production. To add you - [eureka](http://eure.jp/) - [everystory.us](http://everystory.us) - [Expected Behavior](http://www.expectedbehavior.com/) +- [FH Münster - University of Applied Sciences](www.fh-muenster.de) - [LANDR Audio](https://www.landr.com/) - [LiveAgent](https://www.ladesk.com/) - [nViso](http://www.nviso.ch/) From abee93b2c5efcc9c8bd5b7cca1c369bb0fe45b7d Mon Sep 17 00:00:00 2001 From: wing328 Date: Tue, 22 Mar 2016 22:20:26 +0800 Subject: [PATCH 3/4] fix links without http:// --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 227fc4dfb8d..05ae20b06b9 100644 --- a/README.md +++ b/README.md @@ -729,7 +729,7 @@ Here are some companies/projects using Swagger Codegen in production. To add you - [Activehours](https://www.activehours.com/) - [Acunetix](https://www.acunetix.com/) - [Atlassian](https://www.atlassian.com/) -- [beemo](www.beemo.eu) +- [beemo](http://www.beemo.eu) - [CloudBoost](https://www.CloudBoost.io/) - [Cupix](http://www.cupix.com) - [DocuSign](https://www.docusign.com) @@ -737,7 +737,7 @@ Here are some companies/projects using Swagger Codegen in production. To add you - [eureka](http://eure.jp/) - [everystory.us](http://everystory.us) - [Expected Behavior](http://www.expectedbehavior.com/) -- [FH Münster - University of Applied Sciences](www.fh-muenster.de) +- [FH Münster - University of Applied Sciences](http://www.fh-muenster.de) - [LANDR Audio](https://www.landr.com/) - [LiveAgent](https://www.ladesk.com/) - [nViso](http://www.nviso.ch/) From eb69db5720d784299e7610bc4397631307c2c727 Mon Sep 17 00:00:00 2001 From: wing328 Date: Wed, 23 Mar 2016 21:47:38 +0800 Subject: [PATCH 4/4] add kuary --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 05ae20b06b9..3b3e6726b78 100644 --- a/README.md +++ b/README.md @@ -740,6 +740,7 @@ Here are some companies/projects using Swagger Codegen in production. To add you - [FH Münster - University of Applied Sciences](http://www.fh-muenster.de) - [LANDR Audio](https://www.landr.com/) - [LiveAgent](https://www.ladesk.com/) +- [Kuary](https://kuary.com/) - [nViso](http://www.nviso.ch/) - [Okiok](https://www.okiok.com) - [OSDN](https://osdn.jp)