mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-07-03 22:20:56 +00:00
added nodejs server
This commit is contained in:
parent
c10cf7bf7f
commit
b834ba436f
@ -69,6 +69,8 @@ public class Codegen extends DefaultGenerator {
|
||||
return new JavaClientCodegen();
|
||||
else if("jaxrs".equals(name))
|
||||
return new JaxRSServerCodegen();
|
||||
else if("nodejs".equals(name))
|
||||
return new NodeJSServerCodegen();
|
||||
else if("static".equals(name))
|
||||
return new StaticDocCodegen();
|
||||
else if(name.indexOf(".") > 0) {
|
||||
|
@ -413,8 +413,8 @@ public class DefaultCodegen {
|
||||
property.name = toVarName(name);
|
||||
property.baseName = name;
|
||||
property.description = p.getDescription();
|
||||
property.getter = "get" + name.substring(0, 1).toUpperCase() + name.substring(1);
|
||||
property.setter = "set" + name.substring(0, 1).toUpperCase() + name.substring(1);
|
||||
property.getter = "get" + initialCaps(name);
|
||||
property.setter = "set" + initialCaps(name);
|
||||
property.example = p.getExample();
|
||||
property.defaultValue = toDefaultValue(p);
|
||||
|
||||
@ -508,7 +508,7 @@ public class DefaultCodegen {
|
||||
if(builder.toString().length() == 0)
|
||||
part = Character.toLowerCase(part.charAt(0)) + part.substring(1);
|
||||
else
|
||||
part = Character.toUpperCase(part.charAt(0)) + part.substring(1);
|
||||
part = initialCaps(part);
|
||||
builder.append(part);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,71 @@
|
||||
package com.wordnik.swagger.codegen.languages;
|
||||
|
||||
import com.wordnik.swagger.codegen.*;
|
||||
import com.wordnik.swagger.models.properties.*;
|
||||
|
||||
import java.util.*;
|
||||
import java.io.File;
|
||||
|
||||
public class NodeJSServerCodegen extends DefaultCodegen implements CodegenConfig {
|
||||
protected String invokerPackage = "com.wordnik.client";
|
||||
protected String groupId = "com.wordnik";
|
||||
protected String artifactId = "swagger-client";
|
||||
protected String artifactVersion = "1.0.0";
|
||||
|
||||
public NodeJSServerCodegen() {
|
||||
super();
|
||||
outputFolder = "generated-code/nodejs";
|
||||
apiTemplateFiles.put("api.mustache", ".js");
|
||||
templateDir = "nodejs";
|
||||
apiPackage = "app.apis";
|
||||
modelPackage = "app";
|
||||
|
||||
additionalProperties.put("invokerPackage", invokerPackage);
|
||||
additionalProperties.put("groupId", groupId);
|
||||
additionalProperties.put("artifactId", artifactId);
|
||||
additionalProperties.put("artifactVersion", artifactVersion);
|
||||
|
||||
supportingFiles.add(new SupportingFile("package.mustache", "", "package.json"));
|
||||
supportingFiles.add(new SupportingFile("models.mustache", modelPackage, "models.js"));
|
||||
supportingFiles.add(new SupportingFile("main.mustache", "", "main.js"));
|
||||
supportingFiles.add(new SupportingFile("README.mustache", "", "README.js"));
|
||||
|
||||
languageSpecificPrimitives = new HashSet<String>(
|
||||
Arrays.asList(
|
||||
"String",
|
||||
"boolean",
|
||||
"Boolean",
|
||||
"Double",
|
||||
"Integer",
|
||||
"Long",
|
||||
"Float")
|
||||
);
|
||||
typeMapping.put("array", "array");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String escapeReservedWord(String name) {
|
||||
return "_" + name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String apiFileFolder() {
|
||||
return outputFolder + File.separator + apiPackage().replaceAll("\\.", File.separator);
|
||||
}
|
||||
|
||||
public String modelFileFolder() {
|
||||
return outputFolder + File.separator + modelPackage().replaceAll("\\.", File.separator);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSwaggerType(Property p) {
|
||||
String swaggerType = super.getSwaggerType(p);
|
||||
String type = null;
|
||||
if(typeMapping.containsKey(swaggerType)) {
|
||||
return typeMapping.get(swaggerType);
|
||||
}
|
||||
else
|
||||
type = swaggerType;
|
||||
return toModelName(type);
|
||||
}
|
||||
}
|
@ -33,7 +33,17 @@ exports.{{nickname}} = {
|
||||
{{/headerParams}}]).concat([{{#bodyParams}}
|
||||
params.body("body", "{{swaggerDataType}}", "{{description}}", {{#required}}{{required}}{{/required}}{{^required}}false{{/required}})
|
||||
{{/bodyParams}}]),
|
||||
{{#returnContainer}}
|
||||
"type": "{{returnType}}",
|
||||
"items": {
|
||||
{{#returnTypeIsPrimitive}}"type": "{{returnContainer}}"{{/returnTypeIsPrimitive}}
|
||||
{{^returnTypeIsPrimitive}}"$ref": "{{returnContainer}}"{{/returnTypeIsPrimitive}}
|
||||
},
|
||||
// container
|
||||
{{/returnContainer}}
|
||||
{{^returnContainer}}
|
||||
"type" : "{{returnType}}",
|
||||
{{/returnContainer}}
|
||||
"responseMessages" : [errors.invalid('id'), errors.notFound('{{returnType}}')],
|
||||
"nickname" : "{{nickname}}"
|
||||
},
|
||||
|
@ -23,7 +23,7 @@ app.use(cors(corsOptions));
|
||||
swagger.setAppHandler(app);
|
||||
swagger.configureSwaggerPaths("", "api-docs", "")
|
||||
|
||||
var models = require("./models.js");
|
||||
var models = require("./app/models.js");
|
||||
|
||||
{{#apiInfo}}
|
||||
{{#apis}}
|
||||
@ -32,13 +32,8 @@ var {{classname}} = require("./{{apiFolder}}/{{classname}}.js");
|
||||
{{/apiInfo}}
|
||||
|
||||
swagger.addModels(models)
|
||||
{{#apiInfo}}
|
||||
{{#apis}}
|
||||
{{#operations}}
|
||||
{{#operation}}.add{{httpMethod}}({{classname}}.{{nickname}}){{newline}}{{/operation}}
|
||||
{{/operations}}
|
||||
{{/apis}};
|
||||
{{/apiInfo}}
|
||||
{{#apiInfo}}{{#apis}}{{#operations}}{{#operation}}.add{{httpMethod}}({{classname}}.{{nickname}}){{/operation}}{{/operations}}
|
||||
{{/apis}}{{/apiInfo}};
|
||||
|
||||
// configures the app
|
||||
swagger.configure("http://localhost:8002", "0.1");
|
||||
|
Loading…
x
Reference in New Issue
Block a user