From b3403015fd3893388ac25df916dd9f38009ed53c Mon Sep 17 00:00:00 2001 From: Yi Date: Tue, 26 Jul 2016 02:49:33 -0400 Subject: [PATCH] fix scalatra path with basepath (#1425) (#3448) --- .../src/main/resources/scalatra/Bootstrap.mustache | 2 +- .../src/main/resources/scalatra/api.mustache | 6 +++--- .../scalatra/src/main/scala/ScalatraBootstrap.scala | 8 ++++---- .../src/main/scala/com/wordnik/client/api/PetApi.scala | 8 ++++---- .../src/main/scala/com/wordnik/client/api/StoreApi.scala | 6 +++--- .../src/main/scala/com/wordnik/client/api/UserApi.scala | 4 ++-- 6 files changed, 17 insertions(+), 17 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/scalatra/Bootstrap.mustache b/modules/swagger-codegen/src/main/resources/scalatra/Bootstrap.mustache index afb0dd162d1..483ee4e5444 100644 --- a/modules/swagger-codegen/src/main/resources/scalatra/Bootstrap.mustache +++ b/modules/swagger-codegen/src/main/resources/scalatra/Bootstrap.mustache @@ -12,7 +12,7 @@ class ScalatraBootstrap extends LifeCycle { override def init(context: ServletContext) { implicit val system = ActorSystem("appActorSystem") try { - {{#apiInfo}}{{#apis}}context mount (new {{classname}}, "/{{baseName}}/*") + {{#apiInfo}}{{#apis}}context mount (new {{classname}}, "{{basePathWithoutHost}}/{{baseName}}/*") {{/apis}}{{/apiInfo}} context mount (new ResourcesApp, "/api-docs/*") } catch { diff --git a/modules/swagger-codegen/src/main/resources/scalatra/api.mustache b/modules/swagger-codegen/src/main/resources/scalatra/api.mustache index d7b36246a82..a5e281f6280 100644 --- a/modules/swagger-codegen/src/main/resources/scalatra/api.mustache +++ b/modules/swagger-codegen/src/main/resources/scalatra/api.mustache @@ -16,14 +16,14 @@ import org.scalatra.servlet.{FileUploadSupport, MultipartConfig, SizeConstraintE import scala.collection.JavaConverters._ -class {{classname}} (implicit val swagger: Swagger) extends ScalatraServlet +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}}") + override protected val applicationName: Option[String] = Some("{{basePathWithoutHost}}/{{baseName}}") before() { contentType = formats("json") @@ -51,4 +51,4 @@ class {{classname}} (implicit val swagger: Swagger) extends ScalatraServlet {{/operation}} {{/operations}} -} \ No newline at end of file +} diff --git a/samples/server/petstore/scalatra/src/main/scala/ScalatraBootstrap.scala b/samples/server/petstore/scalatra/src/main/scala/ScalatraBootstrap.scala index 445cb7783ab..9b49fe13b15 100644 --- a/samples/server/petstore/scalatra/src/main/scala/ScalatraBootstrap.scala +++ b/samples/server/petstore/scalatra/src/main/scala/ScalatraBootstrap.scala @@ -34,10 +34,10 @@ class ScalatraBootstrap extends LifeCycle { override def init(context: ServletContext) { implicit val system = ActorSystem("appActorSystem") try { - context mount (new PetApi, "/Pet/*") - context mount (new StoreApi, "/Store/*") - context mount (new UserApi, "/User/*") - + context mount (new PetApi, "/v2/Pet/*") + context mount (new StoreApi, "/v2/Store/*") + context mount (new UserApi, "/v2/User/*") + context mount (new ResourcesApp, "/api-docs/*") } catch { case e: Throwable => e.printStackTrace() diff --git a/samples/server/petstore/scalatra/src/main/scala/com/wordnik/client/api/PetApi.scala b/samples/server/petstore/scalatra/src/main/scala/com/wordnik/client/api/PetApi.scala index 9a7d43dd686..73ac60b6cd3 100644 --- a/samples/server/petstore/scalatra/src/main/scala/com/wordnik/client/api/PetApi.scala +++ b/samples/server/petstore/scalatra/src/main/scala/com/wordnik/client/api/PetApi.scala @@ -46,7 +46,7 @@ class PetApi(implicit val swagger: Swagger) extends ScalatraServlet protected implicit val jsonFormats: Formats = DefaultFormats protected val applicationDescription: String = "PetApi" - override protected val applicationName: Option[String] = Some("Pet") + override protected val applicationName: Option[String] = Some("/v2/Pet") before() { contentType = formats("json") @@ -89,7 +89,7 @@ class PetApi(implicit val swagger: Swagger) extends ScalatraServlet get("/pet/findByStatus", operation(findPetsByStatusOperation)) { val statusString = params.getAs[String]("status") - val status = if ("csv".equals("default")) { + val status = if ("multi".equals("default")) { statusString match { case Some(str) => str.split(",") case None => List() @@ -108,7 +108,7 @@ class PetApi(implicit val swagger: Swagger) extends ScalatraServlet get("/pet/findByTags", operation(findPetsByTagsOperation)) { val tagsString = params.getAs[String]("tags") - val tags = if ("csv".equals("default")) { + val tags = if ("multi".equals("default")) { tagsString match { case Some(str) => str.split(",") case None => List() @@ -181,4 +181,4 @@ class PetApi(implicit val swagger: Swagger) extends ScalatraServlet println("file: " + file) } -} \ No newline at end of file +} diff --git a/samples/server/petstore/scalatra/src/main/scala/com/wordnik/client/api/StoreApi.scala b/samples/server/petstore/scalatra/src/main/scala/com/wordnik/client/api/StoreApi.scala index 5427c63f88e..c2ac0af6e8b 100644 --- a/samples/server/petstore/scalatra/src/main/scala/com/wordnik/client/api/StoreApi.scala +++ b/samples/server/petstore/scalatra/src/main/scala/com/wordnik/client/api/StoreApi.scala @@ -44,7 +44,7 @@ class StoreApi(implicit val swagger: Swagger) extends ScalatraServlet protected implicit val jsonFormats: Formats = DefaultFormats protected val applicationDescription: String = "StoreApi" - override protected val applicationName: Option[String] = Some("Store") + override protected val applicationName: Option[String] = Some("/v2/Store") before() { contentType = formats("json") @@ -53,7 +53,7 @@ class StoreApi(implicit val swagger: Swagger) extends ScalatraServlet val deleteOrderOperation = (apiOperation[Unit]("deleteOrder") summary "Delete purchase order by ID" - parameters (pathParam[String]("orderId").description("")) + parameters (pathParam[Long]("orderId").description("")) ) delete("/store/order/{orderId}", operation(deleteOrderOperation)) { @@ -95,4 +95,4 @@ class StoreApi(implicit val swagger: Swagger) extends ScalatraServlet println("body: " + body) } -} \ No newline at end of file +} diff --git a/samples/server/petstore/scalatra/src/main/scala/com/wordnik/client/api/UserApi.scala b/samples/server/petstore/scalatra/src/main/scala/com/wordnik/client/api/UserApi.scala index cff4a915b68..c0dadc2375f 100644 --- a/samples/server/petstore/scalatra/src/main/scala/com/wordnik/client/api/UserApi.scala +++ b/samples/server/petstore/scalatra/src/main/scala/com/wordnik/client/api/UserApi.scala @@ -44,7 +44,7 @@ class UserApi(implicit val swagger: Swagger) extends ScalatraServlet protected implicit val jsonFormats: Formats = DefaultFormats protected val applicationDescription: String = "UserApi" - override protected val applicationName: Option[String] = Some("User") + override protected val applicationName: Option[String] = Some("/v2/User") before() { contentType = formats("json") @@ -151,4 +151,4 @@ class UserApi(implicit val swagger: Swagger) extends ScalatraServlet println("body: " + body) } -} \ No newline at end of file +}