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

  •        284

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

NSwag - The Swagger/OpenAPI toolchain for .NET, ASP.NET Core and TypeScript.

  •    CSharp

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 OpenAPI/Swagger specification uses JSON and JSON Schema to describe a RESTful web API. The NSwag project provides tools to generate OpenAPI specifications from existing ASP.NET Web API controllers and client code from these OpenAPI specifications. The project combines the functionality of Swashbuckle (OpenAPI/Swagger generation) and AutoRest (client generation) in one toolchain (these two libs are not needed). This way a lot of incompatibilites can be avoided and features which are not well described by the OpenAPI 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.

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.

selling-partner-api-models - This repository contains OpenAPI models for developers to use when developing software to call Selling Partner APIs

  •    Java

This repository contains Swagger models for developers to use to create software to call Selling Partner APIs. Developers can use swagger codegen to generate client libraries from these models. Please refer to selling-partner-api-docs for additional documentation and read the Selling Partner Api Developer Guide for instructions to get started. The models directory contains all of the currently available Selling Partner API models.

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).

safrs - SqlAlchemy Flask-Restful Swagger Json:API OpenAPI

  •    Python

SAFRS is an acronym for SqlAlchemy Flask-Restful Swagger. The purpose of this framework is to help python developers create a self-documenting JSON API for sqlalchemy database objects and relationships. These objects can be serialized to JSON and can be created, retrieved, updated and deleted through the JSON API. Optionally, custom resource object methods can be exposed and invoked using JSON. Class and method descriptions and examples can be provided in yaml syntax in the code comments. The description is parsed and shown in the swagger web interface. The result is an easy-to-use swagger/OpenAPI and JSON:API compliant API implementation.

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.

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.

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.

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/ .






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.