forked from loafle/openapi-generator-original
89 lines
3.1 KiB
Plaintext
89 lines
3.1 KiB
Plaintext
package {{package}}
|
|
|
|
{{#imports}}import {{import}}
|
|
{{/imports}}
|
|
|
|
import java.io.File
|
|
|
|
import org.scalatra.{ TypedParamSupport, ScalatraServlet }
|
|
import org.scalatra.swagger._
|
|
import org.json4s._
|
|
import org.json4s.JsonDSL._
|
|
import org.scalatra.json.{ JValueResult, JacksonJsonSupport }
|
|
import org.scalatra.servlet.{FileUploadSupport, MultipartConfig, SizeConstraintExceededException}
|
|
|
|
import scala.collection.JavaConverters._
|
|
|
|
class {{classname}} (implicit val swagger: Swagger) extends ScalatraServlet
|
|
with FileUploadSupport
|
|
with JacksonJsonSupport
|
|
with SwaggerSupport {
|
|
protected implicit val jsonFormats: Formats = DefaultFormats
|
|
|
|
protected val applicationDescription: String = "{{classname}}"
|
|
override protected val applicationName: Option[String] = Some("{{baseName}}")
|
|
|
|
before() {
|
|
contentType = formats("json")
|
|
response.headers += ("Access-Control-Allow-Origin" -> "*")
|
|
}
|
|
{{#operations}}
|
|
{{#operation}}
|
|
{{newline}}
|
|
|
|
val {{nickname}}Operation = (apiOperation[{{#returnType}}{{returnType}}{{/returnType}}{{^returnType}}Unit{{/returnType}}]("{{nickname}}")
|
|
summary "{{{summary}}}"
|
|
parameters(
|
|
{{#allParams}}
|
|
{{#queryParameter}}
|
|
queryParam[{{dataType}}]("{{paramName}}").description(""){{^required}}.optional{{/required}}{{#defaultValue}}.defaultValue({{{defaultValue}}}){{/defaultValue}}
|
|
{{/queryParameter}}
|
|
{{#pathParameter}}
|
|
pathParam[{{dataType}}]("{{paramName}}").description(""){{#defaultValue}}.defaultValue({{{defaultValue}}}){{/defaultValue}}
|
|
{{/pathParameter}}
|
|
{{#headerParameter}}
|
|
headerParam[{{dataType}}]("{{paramName}}").description(""){{^required}}.optional{{/required}}{{#defaultValue}}.defaultValue({{{defaultValue}}}){{/defaultValue}}
|
|
{{/headerParameter}}
|
|
{{#bodyParameter}}
|
|
bodyParam[{{dataType}}]("{{paramName}}").description(""){{^required}}.optional{{/required}}{{#defaultValue}}.defaultValue({{{defaultValue}}}){{/defaultValue}}
|
|
{{/bodyParameter}}
|
|
{{#formParameter}}
|
|
formParam[{{dataType}}]("{{paramName}}").description(""){{^required}}.optional{{/required}}{{#defaultValue}}.defaultValue({{{defaultValue}}}){{/defaultValue}}
|
|
{{/formParameter}}
|
|
{{#hasMore}},{{/hasMore}}
|
|
{{/allParams}})
|
|
)
|
|
|
|
{{httpMethod}}("{{path}}",operation({{nickname}}Operation)) {
|
|
{{#allParams}}
|
|
{{#isFile}}
|
|
val {{paramName}} = fileParams("{{paramName}}")
|
|
{{/isFile}}
|
|
{{#notFile}}
|
|
{{#pathParameter}}
|
|
val {{paramName}} = params.getOrElse("{{paramName}}", halt(400))
|
|
{{/pathParameter}}
|
|
|
|
{{#queryParameter}}
|
|
val {{paramName}} = params.getAs[{{dataType}}]("{{paramName}}")
|
|
{{/queryParameter}}
|
|
|
|
{{#headerParameter}}
|
|
val {{paramName}} = request.getHeader("{{paramName}}")
|
|
{{/headerParameter}}
|
|
|
|
{{#formParameter}}
|
|
val {{paramName}} = params.getAs[{{dataType}}]("{{paramName}}")
|
|
{{/formParameter}}
|
|
|
|
{{#bodyParameter}}
|
|
val {{paramName}} = parsedBody.extract[{{dataType}}]
|
|
{{/bodyParameter}}
|
|
{{/notFile}}
|
|
println("{{paramName}}: " + {{paramName}})
|
|
{{/allParams}}
|
|
}
|
|
|
|
{{/operation}}
|
|
{{/operations}}
|
|
} |