Skip to content

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

Notifications You must be signed in to change notification settings

mmatula/swagger-core

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Swagger Core library

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.

See the Wiki!

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

Version history

v1.1.0 Aug-22 2012

  • - Spec [clarifications](https://github.com/wordnik/swagger-core/wiki/Changelog)
  • - Updated to Jackson 2.0.x, added sample with [scala case classes](https://github.com/wordnik/swagger-core/tree/master/samples/scala-jaxrs-jackson2)
  • - Play 2.0.2 supported
  • - Pluggable model processor, added configurable package introspection
  • - Feature parity between JAX-RS & Play 2, java, scala
  • - Made .{format} [configurable](https://github.com/wordnik/swagger-core/tree/master/samples/scala-jaxrs-no-format), see [here](https://github.com/wordnik/swagger-core/blob/master/samples/scala-jaxrs-no-format/src/main/scala/com/wordnik/swagger/sample/Bootstrap.scala#L24)
  • - Added support for alternate resource listing, examples in [scala](https://github.com/wordnik/swagger-core/tree/master/samples/scala-alt-resource-listing) and [java](https://github.com/wordnik/swagger-core/tree/master/samples/java-alt-resource-listing)
  • - Moved swagger spec to github [wiki](https://github.com/wordnik/swagger-core/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](http://www.scala-lang.org). 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.

  • About

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

    Resources

    Stars

    Watchers

    Forks

    Packages

    No packages published

    Languages

    • Scala 82.9%
    • Java 15.8%
    • Python 1.3%