forked from loafle/openapi-generator-original
added main app
This commit is contained in:
parent
5482cb7822
commit
02b5a929ac
@ -0,0 +1,69 @@
|
|||||||
|
package com.wordnik.swagger.sample
|
||||||
|
|
||||||
|
import apis._
|
||||||
|
|
||||||
|
import com.wordnik.swagger.core.SwaggerSpec
|
||||||
|
|
||||||
|
import org.scalatra.{ ScalatraServlet }
|
||||||
|
import org.scalatra.swagger.{ Swagger, SwaggerBase }
|
||||||
|
|
||||||
|
import org.eclipse.jetty.server.nio.SelectChannelConnector
|
||||||
|
import org.eclipse.jetty.server.Server
|
||||||
|
import org.eclipse.jetty.server.handler.ContextHandlerCollection
|
||||||
|
import org.eclipse.jetty.servlet.{ ServletContextHandler, ServletHolder }
|
||||||
|
|
||||||
|
object ServletApp extends App {
|
||||||
|
val server = new Server
|
||||||
|
implicit val swagger = new SwaggerApp
|
||||||
|
|
||||||
|
server setGracefulShutdown 5000
|
||||||
|
server setSendServerVersion false
|
||||||
|
server setSendDateHeader true
|
||||||
|
server setStopAtShutdown true
|
||||||
|
|
||||||
|
val connector = new SelectChannelConnector
|
||||||
|
connector setPort 8002
|
||||||
|
connector setMaxIdleTime 90000
|
||||||
|
|
||||||
|
server addConnector connector
|
||||||
|
|
||||||
|
val apiServlets = new ServletContextHandler(ServletContextHandler.SESSIONS)
|
||||||
|
apiServlets setContextPath "/api"
|
||||||
|
|
||||||
|
val handlers = new ContextHandlerCollection
|
||||||
|
handlers addHandler apiServlets
|
||||||
|
|
||||||
|
val petServlet = new PetApi
|
||||||
|
swagger register ("pet", "/pet", "", petServlet)
|
||||||
|
apiServlets addServlet (new ServletHolder(petServlet), "/pet/*")
|
||||||
|
apiServlets addServlet (new ServletHolder(new ResourcesApp), "/*")
|
||||||
|
|
||||||
|
val storeServlet = new StoreApi
|
||||||
|
swagger register ("store", "/store", "", storeServlet)
|
||||||
|
apiServlets addServlet (new ServletHolder(storeServlet), "/pet/*")
|
||||||
|
apiServlets addServlet (new ServletHolder(new ResourcesApp), "/*")
|
||||||
|
|
||||||
|
val userServlet = new UserApi
|
||||||
|
swagger register ("user", "/user", "", userServlet)
|
||||||
|
apiServlets addServlet (new ServletHolder(userServlet), "/pet/*")
|
||||||
|
apiServlets addServlet (new ServletHolder(new ResourcesApp), "/*")
|
||||||
|
|
||||||
|
server setHandler handlers
|
||||||
|
server start ()
|
||||||
|
}
|
||||||
|
|
||||||
|
class ResourcesApp(implicit val swagger: Swagger) extends ScalatraServlet with SwaggerBase {
|
||||||
|
before() {
|
||||||
|
response.headers += ("Access-Control-Allow-Origin" -> "*")
|
||||||
|
}
|
||||||
|
|
||||||
|
protected def buildFullUrl(path: String) = if (path.startsWith("http")) path else {
|
||||||
|
"http://%s:%s%s%s".format(
|
||||||
|
request.getServerName,
|
||||||
|
request.getServerPort,
|
||||||
|
request.getContextPath,
|
||||||
|
path)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class SwaggerApp extends Swagger(SwaggerSpec.version, "1")
|
@ -0,0 +1,62 @@
|
|||||||
|
package com.wordnik.swagger.sample
|
||||||
|
|
||||||
|
import {{apiPackage}}._
|
||||||
|
|
||||||
|
import com.wordnik.swagger.core.SwaggerSpec
|
||||||
|
|
||||||
|
import org.scalatra.{ ScalatraServlet }
|
||||||
|
import org.scalatra.swagger.{ Swagger, SwaggerBase }
|
||||||
|
|
||||||
|
import org.eclipse.jetty.server.nio.SelectChannelConnector
|
||||||
|
import org.eclipse.jetty.server.Server
|
||||||
|
import org.eclipse.jetty.server.handler.ContextHandlerCollection
|
||||||
|
import org.eclipse.jetty.servlet.{ ServletContextHandler, ServletHolder }
|
||||||
|
|
||||||
|
object ServletApp extends App {
|
||||||
|
val server = new Server
|
||||||
|
implicit val swagger = new SwaggerApp
|
||||||
|
|
||||||
|
server setGracefulShutdown 5000
|
||||||
|
server setSendServerVersion false
|
||||||
|
server setSendDateHeader true
|
||||||
|
server setStopAtShutdown true
|
||||||
|
|
||||||
|
val connector = new SelectChannelConnector
|
||||||
|
connector setPort 8002
|
||||||
|
connector setMaxIdleTime 90000
|
||||||
|
|
||||||
|
server addConnector connector
|
||||||
|
|
||||||
|
val apiServlets = new ServletContextHandler(ServletContextHandler.SESSIONS)
|
||||||
|
apiServlets setContextPath "/api"
|
||||||
|
|
||||||
|
val handlers = new ContextHandlerCollection
|
||||||
|
handlers addHandler apiServlets
|
||||||
|
|
||||||
|
{{#apis}}
|
||||||
|
val {{name}}Servlet = new {{className}}
|
||||||
|
swagger register ("{{name}}", "/{{name}}", "{{{description}}}", {{name}}Servlet)
|
||||||
|
apiServlets addServlet (new ServletHolder({{name}}Servlet), "/pet/*")
|
||||||
|
apiServlets addServlet (new ServletHolder(new ResourcesApp), "/*")
|
||||||
|
|
||||||
|
{{/apis}}
|
||||||
|
|
||||||
|
server setHandler handlers
|
||||||
|
server start ()
|
||||||
|
}
|
||||||
|
|
||||||
|
class ResourcesApp(implicit val swagger: Swagger) extends ScalatraServlet with SwaggerBase {
|
||||||
|
before() {
|
||||||
|
response.headers += ("Access-Control-Allow-Origin" -> "*")
|
||||||
|
}
|
||||||
|
|
||||||
|
protected def buildFullUrl(path: String) = if (path.startsWith("http")) path else {
|
||||||
|
"http://%s:%s%s%s".format(
|
||||||
|
request.getServerName,
|
||||||
|
request.getServerPort,
|
||||||
|
request.getContextPath,
|
||||||
|
path)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class SwaggerApp extends Swagger(SwaggerSpec.version, "1")
|
Loading…
x
Reference in New Issue
Block a user