NSwag - The Swagger/OpenAPI toolchain for .NET, Web API and TypeScript.

  •        99

NSwag is a Swagger/OpenAPI 2.0 and 3.0 toolchain for .NET, .NET Core, Web API, ASP.NET Core, TypeScript (jQuery, AngularJS, Angular 2+, Aurelia, KnockoutJS, and more) and other platforms, written in C#. The Swagger specification uses JSON and JSON Schema to describe a RESTful web API. The NSwag project provides tools to generate Swagger specifications from existing ASP.NET Web API controllers and client code from these Swagger specifications. The project combines the functionality of Swashbuckle (Swagger generation) and AutoRest (client generation) in one toolchain. This way a lot of incompatibilites can be avoided and features which are not well described by the Swagger specification or JSON Schema are better supported (e.g. inheritance, enum and reference handling). The NSwag project heavily uses NJsonSchema for .NET for JSON Schema handling and C#/TypeScript class/interface generation.

http://NSwag.org
https://github.com/RSuter/NSwag

Tags
Implementation
License
Platform

   




Related Projects

swagger-codegen - swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition

  •    HTML

📔 The eBook A Beginner's Guide to Code Generation for REST APIs is a good starting point for beginners. Check out OpenAPI-Spec for additional information about the OpenAPI project.

bravado - Bravado is a python client library for Swagger 2.0 services

  •    Python

Bravado is a Yelp maintained fork of digium/swagger-py for use with OpenAPI Specification (previously known as Swagger).Client libraries can automatically be generated from the OpenAPI specification, however Bravado aims to be a complete replacement for code generation (swagger-codegen).

go-swagger - Swagger 2.0 implementation for go

  •    Go

This package contains a golang implementation of Swagger 2.0 (aka OpenAPI 2.0): it knows how to serialize and deserialize swagger specifications. Swagger is a simple yet powerful representation of your RESTful API.

swagger-js-codegen - A Swagger Codegen for typescript, nodejs & angularjs

  •    HTML

This project is no longer actively maintained by its creator. Please let us know if you would like to become a maintainer. This package generates a nodejs, reactjs or angularjs class from a swagger specification file. The code is generated using mustache templates and is quality checked by jshint and beautified by js-beautify.


swagger-js - Javascript library to connect to swagger-enabled APIs via browser or nodejs

  •    Javascript

Swagger Client is a JavaScript module that allows you to fetch, resolve, and interact with Swagger/OpenAPI documents. This is the new version of swagger-js, 3.x. The new version supports Swagger 2.0 as well as OpenAPI 3.

aspnetcore-angular2-universal - *NEW* Angular 6

  •    TypeScript

This repository is maintained by Angular and is meant to be an advanced starter for both ASP.NET Core 2.1 using Angular 6.0+, not only for the client-side, but to be rendered on the server for instant application paints (Note: If you don't need SSR read here on how to disable it). This is meant to be a Feature-Rich Starter application containing all of the latest technologies, best build systems available, and include many real-world examples and libraries needed in todays Single Page Applications (SPAs).

swagger-parser - Swagger Spec to Java POJOs

  •    Java

This is the swagger parser project, which reads OpenAPI Specifications into current Java POJOs. It also provides a simple framework to add additional converters from different formats into the Swagger objects, making the entire toolchain available. The goal of Swagger™ is to define a standard, language-agnostic interface to REST APIs which allows both humans and computers to discover and understand the capabilities of the service without access to source code, documentation, or through network traffic inspection. When properly defined via Swagger, a consumer can understand and interact with the remote service with a minimal amount of implementation logic. Similar to what interfaces have done for lower-level programming, Swagger removes the guesswork in calling the service.

autorest - OpenAPI (f

  •    TypeScript

The AutoRest tool generates client libraries for accessing RESTful web services. Input to AutoRest is a spec that describes the REST API using the OpenAPI Specification format.AutoRest will release a stable version on the second Wednesday of the month.

swagger-ui - Swagger UI is a collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API

  •    Javascript

👉🏼 Want to score an easy open-source contribution? Check out our Good first issue label. 🕰️ Looking for the older version of Swagger UI? Refer to the 2.x branch.

connexion - Swagger/OpenAPI First framework for Python on top of Flask with automatic endpoint validation & OAuth2 support

  •    Python

Connexion is a framework on top of Flask that automagically handles HTTP requests based on OpenAPI 2.0 Specification (formerly known as Swagger Spec) of your API described in YAML format. Connexion allows you to write a Swagger specification, then maps the endpoints to your Python functions; this makes it unique, as many tools generate the specification based on your Python code. You can describe your REST API in as much detail as you want; then Connexion guarantees that it will work as you specified.With Connexion, you write the spec first. Connexion then calls your Python code, handling the mapping from the specification to the code. This incentivizes you to write the specification so that all of your developers can understand what your API does, even before you write a single line of code.

spectacle - Beautiful static documentation generator for OpenAPI/Swagger 2.0

  •    HTML

Spectacle generates beautiful static HTML5 documentation from OpenAPI/Swagger 2.0 API specifications. The goal of Spectacle is help you "save time and look good" by providing an extensible platform for auto generating your REST API docs. The default layout is a three column single page, similar to those employed by Stripe and Intercom.

flasgger - Easy Swagger UI for your Flask API

  •    Python

Flasgger is a Flask extension to extract OpenAPI=Specification from all Flask views registered in your API. Flasgger also comes with SwaggerUI embedded so you can access http://localhost:5000/apidocs and visualize and interact with your API resources.

light-4j - A fast, lightweight and more productive microservices framework

  •    Java

Light 4j is a fast, lightweight and cloud native microservices framework. Light means lightweight, lighting fast and shed light on how to program with modern Java SE. It is 44 times faster than the most popular microservices platform Spring Boot embedded Tomcat and use only 1/5 of memory.

Swashbuckle - Seamlessly adds a swagger to WebApi projects!

  •    CSharp

Seamlessly adds a Swagger to WebApi projects! Combines ApiExplorer and Swagger/swagger-ui to provide a rich discovery, documentation and playground experience to your API consumers.And that's not all ...

swagger-codegen

  •    Scala

swagger-codegen contains a template-driven engine to generate client code in different languages by parsing your Swagger Resource Declaration.

apispec - A pluggable API specification generator

  •    Python

A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification). Documentation is available at http://apispec.readthedocs.io/ .

aurelia - Aurelia vNext

  •    TypeScript

This is the Aurelia vNext monorepo, containing core and plugin packages, examples, and documentation for the next major version of Aurelia. To keep up to date on Aurelia, please visit and subscribe to the official blog and our email list. We also invite you to follow us on twitter. If you have questions, look around our Discourse forums, chat in our community on Gitter, or use stack overflow.

L5-Swagger - Swagger integration to Laravel 5

  •    PHP

This package is a wrapper of Swagger-php and swagger-ui adapted to work with Laravel 5. In order to generate the Swagger documentation for your API, Swagger offers a set of annotations to declare and manipulate the output. These annotations can be added in your controller, model or even a seperate file. An example of annotations can be found here. For more info check out Swagger's "pet store" example or the Swagger OpenApi Specification.

swagger-editor - Swagger Editor

  •    Javascript

🕰️ Looking for the older version of Swagger Editor? Refer to the 2.x branch. Swagger Editor lets you edit Swagger API specifications in YAML inside your browser and to preview documentations in real time. Valid Swagger JSON descriptions can then be generated and used with the full Swagger tooling (code generation, documentation, etc).