Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
swagger-core defines annotations and required logic to generate a Swagger server or client.

This branch is 1081 commits behind swagger-api:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
modules
samples
.gitignore
README.md
pom.xml

README.md

Swagger Core library

See the Wiki!

The github wiki contains documentation, samples, etc. Start there

Overview

This is a project to build the swagger-core library, which is required for the Wordnik implementation of the Swagger spec. You can find out more about both the spec and the framework at http://swagger.wordnik.com. For more information about Wordnik's APIs, please visit http://developer.wordnik.com.

Version history

v1.2.0 Nov-27 2012

  • - Updated listing path to /api-docs.json

  • - Moved swagger-play2 and swagger-play2-utils to maven central

    v1.1.0 Aug-22 2012

  • - Spec clarifications

  • - Updated to Jackson 2.0.x, added sample with scala case classes

  • - Play 2.0.2 supported

  • - Pluggable model processor, added configurable package introspection

  • - Feature parity between JAX-RS & Play 2, java, scala

  • - Made .{format} configurable, see here

  • - Added support for alternate resource listing, examples in scala and java

  • - Moved swagger spec to github wiki

    v1.01 Jan-31 2012

  • - Transitioned build to Maven
  • - Removed jaxrs dependencies from swagger-core
  • - Moved sample server implementations into /samples directory
  • - Added support for alternate API listing paths
  • - Made .{format} optional
  • - Added crazy scala versioning into artifact names (Scala 2.8.1 => ${artifact}_2.8.1)

  • - Added test and integration test through default maven integration-test lifecycle
  • v1.0 Aug-10 2011

  • - Initial release of swagger
  • Pre-release versions will be suffixed with SNAPSHOT and RC appropriately. If you want the release version, please grab it by tag (i.e. v1.0 for the release)

    Prerequisites

    You need the following installed and available in your $PATH:

  • - Java 1.6 or greater (http://java.oracle.com)

  • - Apache maven 3.0.3 or greater (http://maven.apache.org/)

  • - Scala 2.9.1-1 available here. Note that 2.9.1 has a defect which causes problems with Jax-RS

    To build from source (currently 1.1.1-SNAPSHOT)

    # first time building locally
    mvn -N
    

    Subsequent builds:

    mvn install
    

    This will build the modules and sample apps.

    Of course if you don't want to build locally you can grab artifacts from maven central:

    http://repo1.maven.org/maven2/com/wordnik/

    And Play2 modules are in our github repo:

    http://wordnik.github.com/repository/com.wordnik

    Sample Apps

    There are a number of sample apps in the samples folder:

    java-jaxrs Java-based swagger server with JAX-RS

    scala-jaxrs Scala-based swagger server with JAX-RS

    java-alt-resource-listing Scala-based swagger server with JAX-RS with an alternate resource listing scheme

    scala-alt-resource-listing Scala-based swagger server with JAX-RS with an alternate resource listing scheme

    scala-jaxrs-apm Scala-based swagger server using wordnik-oss utils for Application Performance Monitoring (APM)

    To run a sample app after initial compile:

    # run scala-jaxrs sample app
    cd samples/scala-jaxrs
    
    mvn jetty:run
    

    And the Play2 samples:

    java-play2 Java-based Play2 sample app

    scala-play2 Scala-based Play2 sample app

    scala-play2-no-format Scala-based Play2 sample app without the .{format} in resource listing

    To run the Play2 sample apps:

    cd samples/java-play2
    
    play run
    

    License

    Copyright 2012 Wordnik, Inc.

    Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

  • Something went wrong with that request. Please try again.