{{>licenseInfo}} package {{package}} {{#imports}}import {{import}} {{/imports}} import java.io.File import org.scalatra.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}}" 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}}{{>queryParam}}{{>pathParam}}{{>bodyParam}}{{>formParam}}{{>headerParam}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) ) {{httpMethod}}("{{{vendorExtensions.x-scalatra-path}}}",operation({{nickname}}Operation)) { {{#allParams}} {{#isFile}}val {{paramName}} = fileParams("{{paramName}}"){{/isFile}} {{^isFile}}{{#isPathParam}} val {{paramName}} = params.getOrElse("{{paramName}}", halt(400)){{/isPathParam}} {{>queryParamOperation}}{{>headerParamOperation}}{{>formParamMustache}}{{>bodyParamOperation}} {{/isFile}} println("{{paramName}}: " + {{paramName}}) {{/allParams}} } {{/operation}} {{/operations}} }