Giter Site home page Giter Site logo

swagger-api / swagger-core Goto Github PK

View Code? Open in Web Editor NEW
7.3K 311.0 2.1K 18.76 MB

Examples and server integrations for generating the Swagger API Specification, which enables easy access to your REST API

Home Page: http://swagger.io

License: Apache License 2.0

Java 99.45% Python 0.24% Shell 0.31%
swagger java swagger-api rest-api rest openapi-specification openapi openapi3 open-source swagger-oss

swagger-core's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

swagger-core's Issues

Swagger, Jersey and Tomcat 7.0.29

Hi,

I´m trying swagger with Jersey (v 1.14) and Apache Tomcat 7.0.29. When Tomcat starts an OutOfMemoryError occurs.

With Tomcat 6.0.32 it works fine.

This is my servlet configuration:

<servlet>
        <servlet-name>JerseyTest</servlet-name>
        <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
        <init-param>
            <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name>
            <param-value>com.sun.jersey.api.core.PackagesResourceConfig</param-value>
        </init-param>
        <init-param>
            <param-name>com.sun.jersey.config.property.packages</param-name>
            <param-value>com.sample.swagger;com.wordnik.swagger.jaxrs</param-value>
        </init-param>
        <init-param>
            <param-name>swagger.api.basepath</param-name>
            <param-value>http://localhost:8080</param-value>
        </init-param>
        <init-param>
            <param-name>api.version</param-name>
            <param-value>1.0</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

Any ideas?

Thanks

[java-play2][scala-play2] Failed to run java-play2 with play 2.0.2

To run java-play2 or scala-play2 under play 2.0.2, these changes are required:

$ vi build.properties
sbt.version=0.11.3
$ vi project/plugins.sbt
change 2.0.1 to 2.0.2

When execute 'play run' and type 'http://localhost:9000/resources.json' on browser, these errors throw up from the console:

[error] application -

! Internal server error, for request [GET /resources.json] ->

java.lang.AbstractMethodError: null
at play.api.http.HeaderNames$class.$init$(StandardValues.scala:193) ~[play_2.9.1.jar:2.0.2-RC2]
at controllers.SwaggerBaseApiController.(ApiHelpController.scala:53) ~[swagger-play2_2.9.1-1.1-SNAPSHOT.jar:1.1-SNAPSHOT]
at controllers.ApiHelpController$.(ApiHelpController.scala:33) ~[swagger-play2_2.9.1-1.1-SNAPSHOT.jar:1.1-SNAPSHOT]
at controllers.ApiHelpController$.(ApiHelpController.scala) ~[swagger-play2_2.9.1-1.1-SNAPSHOT.jar:1.1-SNAPSHOT]
at Routes$$anonfun$routes$1$$anonfun$apply$1$$anonfun$apply$2.apply(routes_routing.scala:104) ~[classes/:na]
at Routes$$anonfun$routes$1$$anonfun$apply$1$$anonfun$apply$2.apply(routes_routing.scala:104) ~[classes/:na]

Swagger doesn't respect JAX-RS's @QueryParam's target

According to the JAX-RS spec/code, the @QueryParam annotation's @Target is:

@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})

Swagger's @ApiParam annotation has the following @Target definition:

@Target(ElementType.PARAMETER)

As such, there are some cases where the API cannot be fully generated using Swagger (for example, if the @QueryParam variable is defined in the class and not as the method parameter).

Regex params of an @Path annotation are not interpreted by swagger

JXARS supports regex for params in @Path, the wiki here demonstrates it here : https://wikis.oracle.com/display/Jersey/Overview+of+JAX-RS+1.0+Features
If I have @Path("/users/{username:[a-zA-Z][a-zA-Z_0-9]+}") then Swagger will present the correct form with a username param, probably introspected from the method signature. However when the url is submitted, it will not replace the {username:[a-zA-Z][a-zA-Z_0-9]+} with the given path param value :

http://localhost:8080/api/users/{username:[a-zA-Z][a-zA-Z_0-9]+}

Dependency on <jackson-annotations:jar:1.8.5> is problematic

This dependency seems to be no longer available from the JAR provider. My project has a dependency on swagger-core_2.9.1 and swagger-jaxrs_2.9.1, and the build fails on the missing artifact com.fasterxml.jackson.core:jackson-annotations:jar:1.8.5. I tried using 1.8.10 and 1.9.9, which are the only 1.x releases available from the provider http://wiki.fasterxml.com/JacksonDownload, but that didn't work either. Their latest release is 2.0.5,

build does not work

Hello,

I wanted to test the sample Java application with swagger so I tried to build it but the build failed because the swagger-core could not be found at: http://download.java.net/maven/2/wordnik/swagger-core/1.0/swagger-core-1.0.jar.

So I thought I build the core lib myself but running ant on this project results in 45 errors e.g.

" [scalac] G:\Projects\Programming\Java\wordnik-swagger-core-9dcb0e6\src\main\scala\com\wordnik\swagger\core\Documentation.scala:146:
error: type mismatch;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var summary: String,
[scalac] ^
"

and 44 more.

I really like to try swagger cause it looks awesome but I have been struggeling for some hours now to get it to work. I would appreciate any available help.

Thank you and kind regards,
David

Java-play2 - Application cannot determine route path

A neat java port for swagger - play2.

I tried the sample app. It loads without errors and the resources.json loads fine. But the rest of the services throw up exception and stops working. Find the stack trace of error attached. For simplicity, i load only PetApis.

The route file is the same as given in the sample.

[info] play - Application started (Dev)
[debug] application - Found Resource /admin @ controllers.HealthController$
[debug] application - Found Resource /pet @ controllers.PetApiController
[debug] application - class controllers.HealthController is not the right type
[debug] application - Loading resource /admin from class controllers.HealthContr
oller$ @ /admin
[debug] application - Loading resource /pet from class controllers.PetApiControl
ler @ /pet
[error] application - Cannot determine Path. Nothing defined in play routes file
for api method public static play.mvc.Result controllers.PetApiController.findP
etsByStatus(java.lang.String)
[debug] application - /pet
[debug] application - /admin.{format}/ping
[error] application - Could not find route controllers.PetApiController.findPets
ByStatus
[debug] application - /admin.{format}/health
[error] application - Cannot determine Path. Nothing defined in play routes file
for api method public static play.mvc.Result controllers.PetApiController.findP
etsByTags(java.lang.String)
[debug] application - /pet
[error] application - Could not find route controllers.PetApiController.findPets
ByTags
[error] application - Cannot determine Path. Nothing defined in play routes file
for api method public static play.mvc.Result controllers.PetApiController.getPe
t(java.lang.String)
[debug] application - /pet
[error] application - Could not find route controllers.PetApiController.getPet
[error] application - Cannot determine Path. Nothing defined in play routes file
for api method public static play.mvc.Result controllers.PetApiController.updat
ePet()
[debug] application - /pet
[error] c.w.s.c.u.TypeUtil$ - Unable to load class com.wordnik.swagger.discover.
Health
[error] application - Could not find route controllers.PetApiController.updatePe
t
[error] c.w.s.p.HelpApi - Unable to resolve class com.wordnik.swagger.discover.H
ealth
[error] application - Cannot determine Path. Nothing defined in play routes file
for api method public static play.mvc.Result controllers.PetApiController.addPe
t()
[debug] application - /pet
[error] application - Could not find route controllers.PetApiController.addPet

How could stop error from XmlRootElement or bean-properties for unrelated classes?

My application is Java Play 2 with ebean. When I start the server, the swagger throws these exception, how could I stop it? The ebean is one of default ORM tool in Play 2 and nothing to do with swagger.

[error] c.w.s.p.HelpApi - Skipping model com.avaje.ebean.Junction. Did not find any public fields or bean-properties in this model. If its a scala class its fields might not have @BeanProperty annotation added to its fields.
[error] c.w.s.p.HelpApi - Skipping model com.avaje.ebean.Filter. Did not find any public fields or bean-properties in this model. If its a scala class its fields might not have @BeanProperty annotation added to its fields.
[error] c.w.s.j.ApiModelParser - Class com.avaje.ebean.PagingList is not annotated with a @XmlRootElement annotation, using PagingList

Error while building

Hello,

I have an issue while building ... Error while resolving a dependency

[ivy:retrieve]   org.slf4j#slf4j-api;1.5.6 by [org.slf4j#slf4j-api;1.5.8] in [build]
    ---------------------------------------------------------------------
    |                  |            modules            ||   artifacts   |
    |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
    ---------------------------------------------------------------------
    |       build      |   27  |   0   |   0   |   5   ||   21  |   0   |
    ---------------------------------------------------------------------
[ivy:retrieve] 
[ivy:retrieve] :: problems summary ::
[ivy:retrieve] :::: WARNINGS
[ivy:retrieve]      ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve]      ::          UNRESOLVED DEPENDENCIES         ::
[ivy:retrieve]      ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve]      :: org.slf4j#slf4j-api;1.5.8: configuration not found in org.slf4j#slf4j-api;1.5.8: 'master'. It was required from com.wordnik#swagger-core;[email protected] build
[ivy:retrieve]      ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve] 
[ivy:retrieve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS

BUILD FAILED
/Users/tdurand/Web/swagger-core/build.xml:66: impossible to resolve dependencies:
    resolve failed - see output for details

Any idea?

Thanks !

Break out annotations in own artifact

Can you please break out the annotations into their own maven artifact, so that they can be used standalone.
This will increase their value as they will not pull in dependencies on stuff that is not wanted in a project (e.g. any Scala code for a Java-only project).

Suggested improvements to @ApiError and @ApiErrors

I've been doing a Spring-MVC implementation of Swagger - available here.

In doing so, I ended up introducing custom annotations for @ApiError and @ApiErrors:

  • @ApiError is declarable at the class level (spec)
  • * The Spring-MVC parser then consumes class-level annotations as defaults for declared methods. We support declaration of errors by using throws in the method declaration
  • @ApiErrors accepts a collection of Class<? extends Throwable> (spec)
  • * The Spring-MVC parser consumes these by parsing @ApiError annotations from the declared exceptions.

This reduces the verbosity of declaring errors on a method.

Currently, we have introduced new annotations - (ApiError & ApiErrors). However, if the Swagger-Core annotations could be combined, we can deprecate and remove our versions.

drop scala version from artifact id

Hi,

Excited to be looking at this, but I was initially confused by your naming scheme for the maven artifacts. By convention you should drop the Scala version from your artifact-id as this is implied by the dependencies in your pom.

If you change the version of Scala you use, you should increment the appropriate part of the version number ... e.g. if it's a breaking/backwards incompatible change bump up your major version, otherwise just increment the minor version.

Thanks for your good work.

Cheers,
Chris

Fully defined APIs in the resource listing should not be recursed into

I think that the resource listing (https://github.com/wordnik/swagger-core/wiki/Resource-Listing) should be able to contain fully fledged API specifications. For example if you define an API with its operations and all details, it should detect this as a real API and not try to fetch it as an additional resource.

This would allow people to dump a all-in-one resources.json that contains the complete API spec. I realize this is not the intended use case, but in some cases it makes things easier.

Scala 2.10 support

Scala 2.10-rc1 has been released. It would be great to have support for Scala 2.10.

Printable stylesheet

Would be nice to have a stylesheet that enables nice printing of the UI.

This should have:

  • all UI controls (buttons, inputs) and "try it out" functionality hidden
  • all items expanded
  • header removed
  • page width constraints removed (fluid layout)

Better way of configuring swagger.api.basepath in web.xml?

This isn't so much a bug, but rather a request.

Is there any way you could inject or determine the host:port during deployment to set the swagger.api.basepath that is currently hardcoded in the web.xml?

The issue we run into is that we have to change this value manually for each server. It would nice if we could specify the path from the context-root.

Great work on this project.

Thanks,
Zack Jones

Support for well-known discovery url

Right now, swagger-ui (or any Swagger-compliant client) has to know the exact URL of the swagger ResourceListing in order to display the results. As far as I know, every implementation does this differently.

It would be nice if you could point swagger-ui at any swagger-compliant API base path (eg, http://api.twitter.com) and have it "just work", regardless of who implemented the server or what language/library it was done in.

So my proposal is we add to the spec that swagger-compliant APIs always have a /swagger.spec or something along those lines, which implements (or redirects to) the ResourceListing.

TBD: the discovery URL(s) to use, which would work across all platforms


Note, I think this has value being part of the spec, rather than just swagger-ui, but this could also just be a convention that swagger-ui in particular uses. But my logic is if it takes off it would become a de-facto standard anyway, so why not put it in the spec.

[java-play2] Missing jar and file in java-play2

When I run java-play2, it always complain missing commons-io. So I have to update Build.scala to include this line:

"commons-io" % "commons-io" % "2.3",

Also, java-play2 needs AuthorizationFilter. It can reuse the one from scala-play2/app/security app/AuthorizationFilter.scala.

Won't build with Maven 3

I have other projects that depend on Maven 3 and it would be nice not to have to switch mavens.

with swagger-play2 dependency, but failed to push to heroku

  1. First, under swagger-play2, execute
    $ play publish-local
  2. add appDependencies to my play2's project/Build.scala
    "swagger-play2" %% "swagger-play2" % "1.1-SNAPSHOT"
  3. add resolvers to my play2's project/Build.scala
    resolvers += Resolver.url("local-ivy", new URL("file://" + Path.userHome.absolutePath + "/.ivy2/local"))(Resolver.ivyStylePatterns),
    resolvers += Resolver.url("local-ivy-cache", new URL("file://" + Path.userHome.absolutePath + "/.ivy2/cache"))(Resolver.ivyStylePatterns),
    resolvers += Resolver.url("local-ivy-cache-mvn", new URL("file://" + Path.userHome.absolutePath + "/.ivy2/cache"))(Resolver.mavenStylePatterns),
    resolvers += (Resolver.file("Local Maven Repository", file(Path.userHome.absolutePath+"/.m2/repository"))(Resolver.ivyStylePatterns))

When I run
$ git push heroku master

I got the errors for missing dependency for swagger-play2.

[warn] module not found: swagger-play2#swagger-play2_2.9.1;1.1-SNAPSHOT
[warn] ==== local: tried
[warn] /tmp/build_1sxx8y8pc37jg/.sbt_home/.ivy2/local/swagger-play2/swagger-play2_2.9.1/1.1-SNAPSHOT/ivys/ivy.xml
[warn] ==== Typesafe Releases Repository: tried
[warn] http://repo.typesafe.com/typesafe/releases/swagger-play2/swagger-play2_2.9.1/1.1-SNAPSHOT/swagger-play2_2.9.1-1.1-SNAPSHOT.pom
[warn] ==== Typesafe Snapshots Repository: tried
[warn] http://repo.typesafe.com/typesafe/snapshots/swagger-play2/swagger-play2_2.9.1/1.1-SNAPSHOT/swagger-play2_2.9.1-1.1-SNAPSHOT.pom
[warn] ==== webjars: tried
[warn] http://webjars.github.com/m2/swagger-play2/swagger-play2_2.9.1/1.1-SNAPSHOT/swagger-play2_2.9.1-1.1-SNAPSHOT.pom
[warn] ==== Mave2: tried
[warn] http://repo1.maven.org/maven2/swagger-play2/swagger-play2_2.9.1/1.1-SNAPSHOT/swagger-play2_2.9.1-1.1-SNAPSHOT.pom
[warn] ==== local-ivy: tried
[warn] file:/tmp/build_1sxx8y8pc37jg/.sbt_home/.ivy2/local/swagger-play2/swagger-play2_2.9.1/1.1-SNAPSHOT/ivys/ivy.xml
[warn] ==== local-ivy-cache: tried
[warn] file:/tmp/build_1sxx8y8pc37jg/.sbt_home/.ivy2/cache/swagger-play2/swagger-play2_2.9.1/1.1-SNAPSHOT/ivys/ivy.xml
[warn] ==== local-ivy-cache-mvn: tried
[warn] ==== Local Maven Repository: tried
[warn] /tmp/build_1sxx8y8pc37jg/.sbt_home/.m2/repository/swagger-play2/swagger-play2_2.9.1/1.1-SNAPSHOT/ivys/ivy.xml

JSON schema

Unless I have missed something, you are not clearly defining which version of the JSON schema draft you are using.
The latest one (though expired) wouldn't validate your model examples.

Problems with building

While im was building the swagger library a got this

{file:/home/diego/swagger-core/modules/swagger-play2/}swagger-play2/*:update: sbt.ResolveException: unresolved dependency: org.slf4j#slf4j-api;1.6.1: configuration not found in org.slf4j#slf4j-api;1.6.1: 'master'. It was required from org.hibernate#hibernate-validator;4.2.0.Final compile
[error] unresolved dependency: commons-codec#commons-codec;1.4: configuration not found in commons-codec#commons-codec;1.4: 'compile'. It was required from org.apache.httpcomponents#httpclient;4.1.2 compile

Any Idea?

Build Failure on Mac OS

Trying to install the 31 January 2012 update in this environment

Apache Maven 3.0.3 (r1075438; 2011-02-28 09:31:09-0800)
Maven home: /usr/share/maven
Java version: 1.6.0_29, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: "mac os x", version: "10.6.8", arch: "x86_64", family: "mac"

I get a build failure in samples/java-jaxrs/

$ mvn jetty:run
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.wordnik:swagger-java-sample-app:war:1.02-SNAPSHOT
[WARNING] 'dependencyManagement.dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: org.scala-lang:scala-library:jar -> duplicate declaration of version ${scala-version} @ com.wordnik:swagger-project:1.02-SNAPSHOT, /Users/erictheise/.m2/repository/com/wordnik/swagger-project/1.02-SNAPSHOT/swagger-project-1.02-SNAPSHOT.pom, line 393, column 16
[WARNING] 'build.pluginManagement.plugins.plugin.(groupId:artifactId)' must be unique but found duplicate declaration of plugin org.scala-tools:maven-scala-plugin @ com.wordnik:swagger-project:1.02-SNAPSHOT, /Users/erictheise/.m2/repository/com/wordnik/swagger-project/1.02-SNAPSHOT/swagger-project-1.02-SNAPSHOT.pom, line 214, column 13
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. @ com.wordnik:swagger-project:1.02-SNAPSHOT, /Users/erictheise/.m2/repository/com/wordnik/swagger-project/1.02-SNAPSHOT/swagger-project-1.02-SNAPSHOT.pom, line 159, column 12
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-jar-plugin is missing. @ com.wordnik:swagger-project:1.02-SNAPSHOT, /Users/erictheise/.m2/repository/com/wordnik/swagger-project/1.02-SNAPSHOT/swagger-project-1.02-SNAPSHOT.pom, line 166, column 12
[WARNING] The expression ${artifactId} is deprecated. Please use ${project.artifactId} instead.
[WARNING] The expression ${version} is deprecated. Please use ${project.version} instead.
[WARNING] The expression ${pom.version} is deprecated. Please use ${project.version} instead.
[WARNING] The expression ${pom.version} is deprecated. Please use ${project.version} instead.
[WARNING] The expression ${pom.version} is deprecated. Please use ${project.version} instead.
[WARNING] The expression ${pom.url} is deprecated. Please use ${project.url} instead.
[WARNING] The expression ${pom.version} is deprecated. Please use ${project.version} instead.
[WARNING] 'reporting.plugins.plugin.version' for org.apache.maven.plugins:maven-javadoc-plugin is missing. @ com.wordnik:swagger-project:1.02-SNAPSHOT, /Users/erictheise/.m2/repository/com/wordnik/swagger-project/1.02-SNAPSHOT/swagger-project-1.02-SNAPSHOT.pom, line 314, column 12
[WARNING] 'reporting.plugins.plugin.version' for org.apache.maven.plugins:maven-jxr-plugin is missing. @ com.wordnik:swagger-project:1.02-SNAPSHOT, /Users/erictheise/.m2/repository/com/wordnik/swagger-project/1.02-SNAPSHOT/swagger-project-1.02-SNAPSHOT.pom, line 332, column 12
[WARNING] 'reporting.plugins.plugin.version' for org.apache.maven.plugins:maven-project-info-reports-plugin is missing. @ com.wordnik:swagger-project:1.02-SNAPSHOT, /Users/erictheise/.m2/repository/com/wordnik/swagger-project/1.02-SNAPSHOT/swagger-project-1.02-SNAPSHOT.pom, line 339, column 12
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
Downloading: http://scala-tools.org/repo-releases/org/apache/maven/plugins/maven-site-plugin/2.1/maven-site-plugin-2.1.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-site-plugin/2.1/maven-site-plugin-2.1.pom
Downloaded: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-site-plugin/2.1/maven-site-plugin-2.1.pom (14 KB at 17.7 KB/sec)
Downloading: http://scala-tools.org/repo-releases/org/apache/maven/plugins/maven-plugins/16/maven-plugins-16.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugins/16/maven-plugins-16.pom
Downloaded: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugins/16/maven-plugins-16.pom (13 KB at 29.4 KB/sec)
Downloading: http://scala-tools.org/repo-releases/org/apache/maven/plugins/maven-site-plugin/2.1/maven-site-plugin-2.1.jar
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-site-plugin/2.1/maven-site-plugin-2.1.jar
Downloaded: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-site-plugin/2.1/maven-site-plugin-2.1.jar (83 KB at 54.6 KB/sec)
Downloading: http://scala-tools.org/repo-releases/org/apache/maven/plugins/maven-release-plugin/2.1/maven-release-plugin-2.1.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.1/maven-release-plugin-2.1.pom
Downloaded: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.1/maven-release-plugin-2.1.pom (9 KB at 18.2 KB/sec)
Downloading: http://scala-tools.org/repo-releases/org/apache/maven/release/maven-release/2.1/maven-release-2.1.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/release/maven-release/2.1/maven-release-2.1.pom
Downloaded: http://repo1.maven.org/maven2/org/apache/maven/release/maven-release/2.1/maven-release-2.1.pom (7 KB at 17.9 KB/sec)
Downloading: http://scala-tools.org/repo-releases/org/apache/maven/plugins/maven-release-plugin/2.1/maven-release-plugin-2.1.jar
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.1/maven-release-plugin-2.1.jar
Downloaded: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.1/maven-release-plugin-2.1.jar (40 KB at 45.5 KB/sec)
Downloading: http://scala-tools.org/repo-releases/org/apache/maven/plugins/maven-war-plugin/2.1.1/maven-war-plugin-2.1.1.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-war-plugin/2.1.1/maven-war-plugin-2.1.1.pom
Downloaded: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-war-plugin/2.1.1/maven-war-plugin-2.1.1.pom (7 KB at 15.2 KB/sec)
Downloading: http://scala-tools.org/repo-releases/org/apache/maven/plugins/maven-war-plugin/2.1.1/maven-war-plugin-2.1.1.jar
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-war-plugin/2.1.1/maven-war-plugin-2.1.1.jar
Downloaded: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-war-plugin/2.1.1/maven-war-plugin-2.1.1.jar (76 KB at 55.2 KB/sec)
Downloading: http://scala-tools.org/repo-releases/org/apache/maven/plugins/maven-failsafe-plugin/2.6/maven-failsafe-plugin-2.6.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-failsafe-plugin/2.6/maven-failsafe-plugin-2.6.pom
Downloaded: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-failsafe-plugin/2.6/maven-failsafe-plugin-2.6.pom (12 KB at 26.4 KB/sec)
Downloading: http://scala-tools.org/repo-releases/org/apache/maven/surefire/surefire/2.6/surefire-2.6.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire/2.6/surefire-2.6.pom
Downloaded: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire/2.6/surefire-2.6.pom (9 KB at 16.5 KB/sec)
Downloading: http://scala-tools.org/repo-releases/org/apache/maven/plugins/maven-failsafe-plugin/2.6/maven-failsafe-plugin-2.6.jar
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-failsafe-plugin/2.6/maven-failsafe-plugin-2.6.jar
Downloaded: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-failsafe-plugin/2.6/maven-failsafe-plugin-2.6.jar (44 KB at 49.4 KB/sec)
Downloading: http://scala-tools.org/repo-releases/org/mortbay/jetty/jetty-maven-plugin/7.6.0.RC4/jetty-maven-plugin-7.6.0.RC4.pom
Downloading: http://repo1.maven.org/maven2/org/mortbay/jetty/jetty-maven-plugin/7.6.0.RC4/jetty-maven-plugin-7.6.0.RC4.pom
Downloaded: http://repo1.maven.org/maven2/org/mortbay/jetty/jetty-maven-plugin/7.6.0.RC4/jetty-maven-plugin-7.6.0.RC4.pom (7 KB at 13.8 KB/sec)
Downloading: http://scala-tools.org/repo-releases/org/mortbay/jetty/jetty-integration-project/7.6.0.RC4/jetty-integration-project-7.6.0.RC4.pom
Downloading: http://repo1.maven.org/maven2/org/mortbay/jetty/jetty-integration-project/7.6.0.RC4/jetty-integration-project-7.6.0.RC4.pom
Downloaded: http://repo1.maven.org/maven2/org/mortbay/jetty/jetty-integration-project/7.6.0.RC4/jetty-integration-project-7.6.0.RC4.pom (8 KB at 18.8 KB/sec)
Downloading: http://scala-tools.org/repo-releases/org/mortbay/jetty/jetty-parent/13/jetty-parent-13.pom
Downloading: http://repo1.maven.org/maven2/org/mortbay/jetty/jetty-parent/13/jetty-parent-13.pom
Downloaded: http://repo1.maven.org/maven2/org/mortbay/jetty/jetty-parent/13/jetty-parent-13.pom (4 KB at 7.4 KB/sec)
Downloading: http://scala-tools.org/repo-releases/org/eclipse/jetty/jetty-parent/19/jetty-parent-19.pom
Downloading: http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-parent/19/jetty-parent-19.pom
Downloaded: http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-parent/19/jetty-parent-19.pom (20 KB at 47.6 KB/sec)
Downloading: http://scala-tools.org/repo-releases/org/mortbay/jetty/jetty-maven-plugin/7.6.0.RC4/jetty-maven-plugin-7.6.0.RC4.jar
Downloading: http://repo1.maven.org/maven2/org/mortbay/jetty/jetty-maven-plugin/7.6.0.RC4/jetty-maven-plugin-7.6.0.RC4.jar
Downloaded: http://repo1.maven.org/maven2/org/mortbay/jetty/jetty-maven-plugin/7.6.0.RC4/jetty-maven-plugin-7.6.0.RC4.jar (67 KB at 48.1 KB/sec)
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building swagger-java-jaxrs-app 1.02-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://scala-tools.org/repo-releases/org/apache/maven/plugins/maven-resources-plugin/2.4.3/maven-resources-plugin-2.4.3.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-resources-plugin/2.4.3/maven-resources-plugin-2.4.3.pom
Downloaded: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-resources-plugin/2.4.3/maven-resources-plugin-2.4.3.pom (6 KB at 13.6 KB/sec)
Downloading: http://scala-tools.org/repo-releases/org/apache/maven/plugins/maven-resources-plugin/2.4.3/maven-resources-plugin-2.4.3.jar
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-resources-plugin/2.4.3/maven-resources-plugin-2.4.3.jar
Downloaded: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-resources-plugin/2.4.3/maven-resources-plugin-2.4.3.jar (24 KB at 44.4 KB/sec)
[INFO]
[INFO] >>> jetty-maven-plugin:7.6.0.RC4:run (default-cli) @ swagger-java-sample-app >>>
Downloading: https://oss.sonatype.org/content/repositories/snapshots/com/wordnik/swagger-jaxrs_2.8.1/1.02-SNAPSHOT/maven-metadata.xml
Downloading: https://oss.sonatype.org/content/repositories/snapshots/com/wordnik/swagger-jaxrs_2.8.1/1.02-SNAPSHOT/swagger-jaxrs_2.8.1-1.02-SNAPSHOT.pom
[WARNING] The POM for com.wordnik:swagger-jaxrs_2.8.1:jar:1.02-SNAPSHOT is missing, no dependency information available
Downloading: https://oss.sonatype.org/content/repositories/snapshots/com/wordnik/swagger-core_2.8.1/1.02-SNAPSHOT/maven-metadata.xml
Downloading: https://oss.sonatype.org/content/repositories/snapshots/com/wordnik/swagger-core_2.8.1/1.02-SNAPSHOT/swagger-core_2.8.1-1.02-SNAPSHOT.pom
[WARNING] The POM for com.wordnik:swagger-core_2.8.1:jar:1.02-SNAPSHOT is missing, no dependency information available
Downloading: http://repo1.maven.org/maven2/org/slf4j/slf4j-log4j12/1.6.3/slf4j-log4j12-1.6.3.pom
Downloaded: http://repo1.maven.org/maven2/org/slf4j/slf4j-log4j12/1.6.3/slf4j-log4j12-1.6.3.pom (2 KB at 4.3 KB/sec)
Downloading: http://repo1.maven.org/maven2/org/slf4j/slf4j-parent/1.6.3/slf4j-parent-1.6.3.pom
Downloaded: http://repo1.maven.org/maven2/org/slf4j/slf4j-parent/1.6.3/slf4j-parent-1.6.3.pom (11 KB at 22.0 KB/sec)
Downloading: http://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.6.3/slf4j-api-1.6.3.pom
Downloaded: http://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.6.3/slf4j-api-1.6.3.pom (3 KB at 5.9 KB/sec)
Downloading: http://repo1.maven.org/maven2/log4j/log4j/1.2.16/log4j-1.2.16.pom
Downloaded: http://repo1.maven.org/maven2/log4j/log4j/1.2.16/log4j-1.2.16.pom (20 KB at 26.6 KB/sec)
Downloading: http://repo1.maven.org/maven2/org/scalatest/scalatest_2.8.1/1.5.RC3/scalatest_2.8.1-1.5.RC3.pom
Downloaded: http://repo1.maven.org/maven2/org/scalatest/scalatest_2.8.1/1.5.RC3/scalatest_2.8.1-1.5.RC3.pom (5 KB at 15.7 KB/sec)
Downloading: http://repo1.maven.org/maven2/org/scala-lang/scala-library/2.8.1/scala-library-2.8.1.pom
Downloaded: http://repo1.maven.org/maven2/org/scala-lang/scala-library/2.8.1/scala-library-2.8.1.pom (2 KB at 2.9 KB/sec)
Downloading: http://repo1.maven.org/maven2/junit/junit/4.8.1/junit-4.8.1.pom
Downloaded: http://repo1.maven.org/maven2/junit/junit/4.8.1/junit-4.8.1.pom (949 B at 1.9 KB/sec)
Downloading: https://oss.sonatype.org/content/repositories/snapshots/com/wordnik/swagger-jaxrs_2.8.1/1.02-SNAPSHOT/swagger-jaxrs_2.8.1-1.02-SNAPSHOT.jar
Downloading: https://oss.sonatype.org/content/repositories/snapshots/com/wordnik/swagger-core_2.8.1/1.02-SNAPSHOT/swagger-core_2.8.1-1.02-SNAPSHOT.jar
Downloading: http://repo1.maven.org/maven2/org/slf4j/slf4j-log4j12/1.6.3/slf4j-log4j12-1.6.3.jar
Downloading: http://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.6.3/slf4j-api-1.6.3.jar
Downloading: http://repo1.maven.org/maven2/log4j/log4j/1.2.16/log4j-1.2.16.jar
Downloading: http://repo1.maven.org/maven2/org/scalatest/scalatest_2.8.1/1.5.RC3/scalatest_2.8.1-1.5.RC3.jar
Downloading: http://repo1.maven.org/maven2/org/scala-lang/scala-library/2.8.1/scala-library-2.8.1.jar
Downloaded: http://repo1.maven.org/maven2/org/slf4j/slf4j-log4j12/1.6.3/slf4j-log4j12-1.6.3.jar (10 KB at 7.3 KB/sec)
Downloading: http://repo1.maven.org/maven2/junit/junit/4.8.1/junit-4.8.1.jar
Downloaded: http://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.6.3/slf4j-api-1.6.3.jar (26 KB at 16.1 KB/sec)
Downloaded: http://repo1.maven.org/maven2/junit/junit/4.8.1/junit-4.8.1.jar (232 KB at 56.2 KB/sec)
Downloaded: http://repo1.maven.org/maven2/log4j/log4j/1.2.16/log4j-1.2.16.jar (471 KB at 79.5 KB/sec)
Downloaded: http://repo1.maven.org/maven2/org/scalatest/scalatest_2.8.1/1.5.RC3/scalatest_2.8.1-1.5.RC3.jar (2589 KB at 70.4 KB/sec)
Downloaded: http://repo1.maven.org/maven2/org/scala-lang/scala-library/2.8.1/scala-library-2.8.1.jar (6344 KB at 69.7 KB/sec)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:55.488s
[INFO] Finished at: Wed Feb 01 14:49:34 PST 2012
[INFO] Final Memory: 9M/81M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project swagger-java-sample-app: Could not resolve dependencies for project com.wordnik:swagger-java-sample-app:war:1.02-SNAPSHOT: The following artifacts could not be resolved: com.wordnik:swagger-jaxrs_2.8.1:jar:1.02-SNAPSHOT, com.wordnik:swagger-core_2.8.1:jar:1.02-SNAPSHOT: Could not find artifact com.wordnik:swagger-jaxrs_2.8.1:jar:1.02-SNAPSHOT in sonatype-nexus-snapshots (https://oss.sonatype.org/content/repositories/snapshots) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

Unable to compile with Scala 2.9.1.final

I am getting an assertion error when trying to run the "ant" command.

Scala 2.9.1
Java 1.6.0_26
Ant 1.8.2
OS X 10.7.1 (Lion)

[scalac] java.lang.AssertionError: assertion failed: List(object Byte, object Byte)
   [scalac]     at scala.tools.nsc.symtab.Symbols$Symbol.suchThat(Symbols.scala:1056)
   [scalac]     at scala.tools.nsc.symtab.Symbols$Symbol.companionModule0(Symbols.scala:1271)
   [scalac]     at scala.tools.nsc.symtab.Symbols$Symbol.companionModule(Symbols.scala:1281)
   [scalac]     at scala.tools.nsc.symtab.Symbols$Symbol.linkedClassOfClass(Symbols.scala:1302)
   [scalac]     at scala.tools.nsc.symtab.Definitions$definitions$.addModuleMethod$1(Definitions.scala:711)
   [scalac]     at scala.tools.nsc.symtab.Definitions$definitions$.initValueClasses(Definitions.scala:714)
   [scalac]     at scala.tools.nsc.symtab.Definitions$definitions$.init(Definitions.scala:791)
   [scalac]     at scala.tools.nsc.Global$Run.<init>(Global.scala:604)
   [scalac]     at scala.tools.ant.Scalac.executeInternal(Scalac.scala:638)
   [scalac]     at scala.tools.ant.Scalac.execute(Scalac.scala:586)
   [scalac]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
   [scalac]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
   [scalac]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   [scalac]     at java.lang.reflect.Method.invoke(Method.java:597)
   [scalac]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
   [scalac]     at org.apache.tools.ant.Task.perform(Task.java:348)
   [scalac]     at org.apache.tools.ant.Target.execute(Target.java:390)
   [scalac]     at org.apache.tools.ant.Target.performTasks(Target.java:411)
   [scalac]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
   [scalac]     at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
   [scalac]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
   [scalac]     at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
   [scalac]     at org.apache.tools.ant.Main.runBuild(Main.java:809)
   [scalac]     at org.apache.tools.ant.Main.startAnt(Main.java:217)
   [scalac]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
   [scalac]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)

[swagger-ui][java-play2] Error with using java-play2 with swagger-ui

When running swagger-ui and read from http://localhost:9000/resources.json, it will give me errors on the console:

[error] application - Cannot determine Path. Nothing defined in play routes file for api method public static play.mvc.Result controllers.UserApiController.updateUser(java.lang.String)
[error] application - Cannot determine Path. Nothing defined in play routes file for api method public static play.mvc.Result controllers.PetApiController.addPet()
[error] application - Cannot determine Path. Nothing defined in play routes file for api method public static play.mvc.Result controllers.StoreApiController.placeOrder()
[debug] application - /store
[debug] application - /pet
[debug] application - /user
[error] application - Could not find route controllers.StoreApiController.placeOrder
[error] application - Could not find route controllers.PetApiController.addPet
[error] application - Could not find route controllers.UserApiController.updateUser

If I change 'swagger-play2' to 'swagger-play2-utils' in Build.scala, the errors go away but stuck at 'Fetching _store...'.

Add some @ApiClass annotation

I may misunderstand what is there already.

In order to document value classes (=JavaBeans) that are used for state representations, I think it would be good to annotate those classes with e.g. @apiclass so that some annotation processor can pick those up and create documentation.

I don't think picking up every type of e.g. method parameters makes sense as standard types like
java.lang.String should not end up in the final documentation.

Does that make sense? If so I am willing to contribute this.

Only classes in com.wordnik are properly emitted in model

Hi,

I'm using your super cool library and I've noticed a small problem. The TypeUtil class filters emitted model classes to com.wordnik.*. This is undoubtably done to avoid emitting lots of uninteresting classes in java foo etc... And I agree that this sort of 'whitelist' approach is better than a backlist. Unfortunately I do have some interesting classes which I'd like to have properly emitted when they are referenced from other model objects.

How do you recommend doing this? TypeUtil is a singleton kinda deep in the bowels. My first thought was to make a new public var of whitelistPackages, and default that var to "com.wordnik.". This would allow 'advanced' users to change that should they so wish. If this is fine with you I'll make such a change and send a pull request. For reference, here's my current hackish way of making things go:

git diff modules/swagger-core/src/main/scala/com/wordnik/swagger/core/util/TypeUtil.scala
diff --git a/modules/swagger-core/src/main/scala/com/wordnik/swagger/core/util/TypeUtil.scala b/modules/swagger-core/src/main/scala/com/wordnik/swagger/core/u
index 8d66f5b..f75ea09 100644
--- a/modules/swagger-core/src/main/scala/com/wordnik/swagger/core/util/TypeUtil.scala
+++ b/modules/swagger-core/src/main/scala/com/wordnik/swagger/core/util/TypeUtil.scala
@@ -117,10 +117,15 @@ object TypeUtil {
   private def checkAndAddConcreteObjectType(classType:Type, list: java.util.List[String]) {
     if (classType.getClass.isAssignableFrom(classOf[Class[_]])){
       val listType: Class[_] = classType.asInstanceOf[Class[_]]
-      if (listType.getName.startsWith(WORDNIK_PACKAGES)) list.add(listType.getName)
+      if (isInterestingPackage(listType.getName)) list.add(listType.getName)
     }
   }
 
+  private def isInterestingPackage(name: String) = {
+    val prefixes = Seq(WORDNIK_PACKAGES, "com.xeralux.")
+    prefixes.exists { p => name.startsWith(p) }
+  }
+
   /**
    * Get all classes references by a given list of classes. This includes types of method params and fields
    */
@@ -164,7 +169,7 @@ object TypeUtil {
                 }
                 case _ =>
               }
-              if (fieldClass.startsWith(WORDNIK_PACKAGES)) {
+              if (isInterestingPackage(fieldClass)) {
                 referencedClasses.add(fieldClass)
               }
               else {
@@ -185,7 +190,7 @@ object TypeUtil {
                 }
                 case _ =>
               }
-              if (methodReturnClass.startsWith(WORDNIK_PACKAGES)) {
+              if (isInterestingPackage(methodReturnClass)) {
                 referencedClasses.add(methodReturnClass)
               }
               else {

java-play2: api changes should recompile on browser refresh

This is an enhancement request. One of the big advantages of Play is recompilation of changed classes on browser refresh. The development cycle is extremely rapid. Unfortunately, it doesn't seem that changes to API annotations cause the supporting swagger classes to recompile on browser refresh. This means the app needs to be restarted to see API changes take effect.

Maybe someone from the Play team (@pk11) would be able to help.

Use Jackson to produce JSON-Schema

Right now Swagger implements its own method of generating JSON-Schema for model classes.
As far as I understand, this is due to previous support issues with Jackson.

I propose trying to use Jackson again to generate the JSON-Schema for the following reasons:

  • It would solve issue #46.
  • It would automatically respect Jackon's annotations - @JsonIgnore, @JsonSerializer and so on.

I've tried running Swagger's JSON-Schema and Jackson's on two model classes we have in our code - one relatively simple, the other relatively complex. Jackson produced by far better results (note, we use Java for development, not Scala).

Just to make things a bit more complicated, there are a few other use-cases we use internally that we still need to see how to handle. Jackson may have solution for the bunch, I just didn't get a chance to check it out.

  • When using @JsonSerializer/@JsonDeserializer, the type of the field is resolved to "any". This is definitely not true. Not sure whether JSON-Schema offers a way to describe complex values, or add a description to what the expected value should be like. If you're familiar with MongoDB's ObjectId, that's a fair example.
  • Some field values can be assigned from a given set of values - say a list of items from the database. I'd like to be able to present the client with the possible list of values. This is a dynamic list that can change in run-time.
  • JSR 303 (Validation) support - it seems Jackson translate @NotNull to a mandatory field, not sure it handles other JSR 303 annotations. Would be nice if there was a way to support extensions as well (such as hibernate-validator).
  • This is probably the toughest - we use a custom MessageBodyReader to manipulate incoming message bodies. This is used to support delta operations for one (that is, allow the clients to send only partial data in order to manipulate objects), but we also use it to filter fields that the client cannot change (normally state-related fields that we want the client to be familiar with but don't want to be able to change). We could have used DTO's to handle that, but we prefer this way as it keeps our model code simpler. I'm not sure whether Jackson's JSON-Schema classes offer any kind of similar logic manipulation, but if they do, I'd wish Swagger to support a custom way to register such classes.

Error while compiling swagger-core

while compiling swagger-core i get following errors:


Environment
OS: windows 7, 64 bit
JDK 1.7
Scala 2.9.1


fastcompile:
[mkdir] Created dir: D:\workspace\git.repositories\swagger-core\build\main
[mkdir] Created dir: D:\workspace\git.repositories\swagger-core\build\main\java
[scalac] Compiling 8 scala and 16 java source files to D:\workspace\git.repositories\swagger-core\build\main\java
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\ApiDocResource.scala:22: error: type mismatch
;
[scalac] found : com.wordnik.swagger.core.Api
[scalac] required: scala.annotation.Annotation
[scalac] @Api("/resources")
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\ApiDocResource.scala:27: error: type mismatch
;
[scalac] found : com.wordnik.swagger.core.Api
[scalac] required: scala.annotation.Annotation
[scalac] @Api("/resources")
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:46: error: type mismatch;

[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] class Documentation (@BeanProperty var apiVersion: String,
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:47: error: type mismatch;

[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var swaggerVersion: String,
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:48: error: type mismatch;

[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var basePath: String,
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:49: error: type mismatch;

[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var resourcePath: String){
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:114: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] class DocumentationEndPoint(@BeanProperty var path: String, @BeanProperty var description: String) {
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:114: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] class DocumentationEndPoint(@BeanProperty var path: String, @BeanProperty var description: String) {
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:146: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] class DocumentationOperation(@BeanProperty var httpMethod: String,
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:147: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var summary: String,
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:148: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var notes: String) {
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:149: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var deprecated: java.lang.Boolean = null
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:150: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var responseClass: String = _
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:151: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var nickname: String = _
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:242: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var name: String,
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:243: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var description: String,
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:244: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var notes: String,
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:245: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var paramType: String,
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:246: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var defaultValue: String,
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:247: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var allowableValues: DocumentationAllowableValues,
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:248: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var required: Boolean,
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:249: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var allowMultiple: Boolean) {
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:250: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var paramAccess: String = _
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:251: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var internalDescription: String = _
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:252: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var wrapperName: String = _
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:253: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var dataType: String = _
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:294: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] class DocumentationAllowableListValues (@BeanProperty var values: java.util.List[String]) extends DocumentationAllowableValues
{
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:298: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var valueType: String = LIST_ALLOWABLE_VALUES
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:310: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] class DocumentationAllowableRangeValues (@BeanProperty var min: java.lang.Float,
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:311: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var max: java.lang.Float) extends DocumentationAllowableValues {
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:315: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var valueType: String = RANGE_ALLOWABLE_VALUES
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:329: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var valueType: String,
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:330: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var occurs: String) {
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:367: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] class DocumentationError(@BeanProperty var code: Int, @BeanProperty var reason: String) {
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:367: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] class DocumentationError(@BeanProperty var code: Int, @BeanProperty var reason: String) {
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:378: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var uniqueFieldName: String = _
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:467: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:472: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var name: String = null
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:474: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var id: String = null
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:476: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var properties: java.util.Map[String, DocumentationSchema] = null
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:479: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var allowableValues: DocumentationAllowableValues = null
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:482: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var description: String = null
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:485: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var notes: String = null
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:488: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var access: String = null
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:491: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var default: String = null //TODO this should be object
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:494: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var additionalProperties: DocumentationSchema = null
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:497: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var items: DocumentationSchema = null
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Documentation.scala:500: error: type mismatch
;
[scalac] found : scala.reflect.BeanProperty
[scalac] required: scala.annotation.Annotation
[scalac] @BeanProperty var uniqueItems: Boolean = false
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Help.scala:31: error: overloaded method const
ructor ApiOperation with alternatives:
scalaccom.wordnik.swagger.core.ApiOperation
[scalac](x$1: java.lang.String)com.wordnik.swagger.core.ApiOperation
[scalac] cannot be applied to (value: java.lang.String, responseClass: java.lang.String)
[scalac] @ApiOperation(value = "Returns information about API parameters",
[scalac] ^
[scalac] D:\workspace\git.repositories\swagger-core\src\main\scala\com\wordnik\swagger\core\Help.scala:59: error: overloaded method const
ructor ApiOperation with alternatives:
scalaccom.wordnik.swagger.core.ApiOperation
[scalac](x$1: java.lang.String)com.wordnik.swagger.core.ApiOperation
[scalac] cannot be applied to (value: java.lang.String, responseClass: java.lang.String, multiValueResponse: Boolean)
[scalac] @ApiOperation(value = "Returns list of all available api endpoints",
[scalac] ^
[scalac] 50 errors found

BUILD FAILED
D:\workspace\git.repositories\swagger-core\build.xml:75: Compile failed with 50 errors; see the compiler error output for details.

Total time: 3 minutes 28 seconds

Remove .{format} in Play2

I've tried removing the .{format} extension in the swagger-play2 plugin by adding PlayApiReader.setFormatString("") when the app initializes (as in the JAX-RS example).
It doesn't seem to have any effect.

swagger-play2 JSON mapper error

/resources.xml works fine... however, /resources.json produces the following error. If you cannot reproduce on your end, I can try to put together a small sample app that demonstrates the issue. I'm using a slightly newer version of Play (2.0.1) in case that makes a difference.

! @6a790aea3 - Internal server error, for request [GET /resources.json] ->

play.core.ActionInvoker$$anonfun$receive$1$$anon$1: Execution exception [[AbstractMethodError: org.codehaus.jackson.map.AnnotationIntrospector.findSerializer(Lorg/codehaus/jackson/map/introspect/Annotated;)Ljava/lang/Object;]]
at play.core.ActionInvoker$$anonfun$receive$1.apply(Invoker.scala:134) [play_2.9.1-2.0.1.jar:2.0.1]
at play.core.ActionInvoker$$anonfun$receive$1.apply(Invoker.scala:115) [play_2.9.1-2.0.1.jar:2.0.1]
at akka.actor.Actor$class.apply(Actor.scala:311) [akka-actor-2.0.1.jar:2.0.1]
at play.core.ActionInvoker.apply(Invoker.scala:113) [play_2.9.1-2.0.1.jar:2.0.1]
at akka.actor.ActorCell.invoke(ActorCell.scala:619) [akka-actor-2.0.1.jar:2.0.1]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:196) [akka-actor-2.0.1.jar:2.0.1]
Caused by: java.lang.AbstractMethodError: org.codehaus.jackson.map.AnnotationIntrospector.findSerializer(Lorg/codehaus/jackson/map/introspect/Annotated;)Ljava/lang/Object;
at org.codehaus.jackson.map.ser.BasicSerializerFactory.findSerializerFromAnnotation(BasicSerializerFactory.java:366) ~[jackson-mapper-asl.jar:1.9.5]
at org.codehaus.jackson.map.ser.BeanSerializerFactory.createSerializer(BeanSerializerFactory.java:252) ~[jackson-mapper-asl.jar:1.9.5]
at org.codehaus.jackson.map.ser.StdSerializerProvider._createUntypedSerializer(StdSerializerProvider.java:782) ~[jackson-mapper-asl.jar:1.9.5]
at org.codehaus.jackson.map.ser.StdSerializerProvider._createAndCacheUntypedSerializer(StdSerializerProvider.java:735) ~[jackson-mapper-asl.jar:1.9.5]
at org.codehaus.jackson.map.ser.StdSerializerProvider.findValueSerializer(StdSerializerProvider.java:344) ~[jackson-mapper-asl.jar:1.9.5]
at org.codehaus.jackson.map.ser.StdSerializerProvider.findTypedValueSerializer(StdSerializerProvider.java:420) ~[jackson-mapper-asl.jar:1.9.5]
[info] Compiling 2 Scala sources and 6 Java sources to /Users/sean/proj/webapp/target/scala-2.9.1/classes...

Swagger-play2-util compilation error - Missing Health,Health Snapshot and Memory

Its a very nice tool and hoping to see the admin side of swagger with monitoring capabilities. Swagger-play2-util is not compiling. Stack trace of the error attached for your reference. Health,Health Snapshot and Memory not found in the referenced libraries.

[info] Compiling 1 Scala source to D:\eWorkspace\appify\modules\wordnik-swagger-
core-b2bf80d\modules\swagger-play2-utils\target\scala-2.9.1\classes...
[error] D:\eWorkspace\appify\modules\wordnik-swagger-core-b2bf80d\modules\swagge
r-play2-utils\app\controllers\HealthController.scala:17: HealthSnapshot is not a
member of com.wordnik.util.perf
[error] import com.wordnik.util.perf.HealthSnapshot
[error] ^
[error] D:\eWorkspace\appify\modules\wordnik-swagger-core-b2bf80d\modules\swagge
r-play2-utils\app\controllers\HealthController.scala:18: Health is not a member
of com.wordnik.util.perf
[error] import com.wordnik.util.perf.Health
[error] ^
[error] D:\eWorkspace\appify\modules\wordnik-swagger-core-b2bf80d\modules\swagge
r-play2-utils\app\controllers\HealthController.scala:19: Memory is not a member
of com.wordnik.util.perf
[error] import com.wordnik.util.perf.Memory
[error] ^

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.