Unchase OpenAPI (Swagger) Connected Service
is a Visual Studio 2017/2019 extension to generate
C#
(
TypeScript
)
HttpClient
(or
C#
Controllers
) code for
OpenAPI
(formerly
Swagger API
) web service with
NSwag
.
For VisualStudio 2022:
Unchase OpenAPI (Swagger) Connected Service VS2022
Extension now supports yaml-specifications and specification endpoints ends with not only
.json
!
For VisualStudio 2019
: Starting from
v16.1.3
extensions based on
Microsoft Connected Services
now work fine.
The project is developed and maintained by
Nikolay Chebotov (
Unchase
)
.
Getting Started
Install from
Tools -> Extensions and Updates
menu inside
Visual Studio
2017 (from
Extensions -> Manage Extensions
menu inside
VisualStudio
2019):
Features
Generate
C#
or
TypeScript
clients/proxies (client code) from Swagger 2.0 and OpenAPI 3.0 specifications
Generate
C#
ASP.NET Controller from Swagger 2.0 and OpenAPI 3.0 specifications
Experimental
: Generate
C#
or
TypeScript
clients/proxies (client code) or ASP.NET Controller from OData specification converted to OpenAPI based on
OpenAPI.NET.OData
Generate
.nswag
file for using in
NSwagStudio
(no need to install for generating)
Add required dependencies for the
C#
client (before generating):
Library targeting .NET Standard 1.4+:
Newtonsoft.Json (
NuGet
)
System.Net.Http (
NuGet
)
System.ComponentModel.Annotations (
NuGet
)
Library targeting the full .NET:
Newtonsoft.Json (
NuGet
)
System.Runtime.Serialization (GAC)
System.ComponentModel.DataAnnotations (GAC)
Library targeting PCL 259 (Portable Class Library):
Newtonsoft.Json (
NuGet
)
Microsoft.Net.Http (
NuGet
)
Portable.DataAnnotations (
NuGet
)
Add Required dependences for the
C#
controller (before generating):
Microsoft.AspNetCore.Mvc (
NuGet
)
Command
to open generated
.nswag
and
.nswag.json
files in
NSwagStudio
Command
to compare
.nswag.json
specification file with another
.nswag.json
specification file (or specification given by
endpoint
)
Storage of the last 10 endpoints (specification path)
Settings Meaning
Meaning of the Unchase
OpenAPI (Swagger) Connected Service
settings according to
NSwagStudio
:
Exclude type names
Since
v1.4.0
you can exclude type names in separate Window for C# client code generation:
Generate code from OData specification converted to OpenAPI specification
Since
v1.5.0
you can generate code from OData specification converted to OpenAPI specification:
Custom Commands
Open in NSwagStudio
Command
Since
v1.1.
* have been added menu command embedded in Visual Studio Solution Explorer context menu lets you open generated
.nswag
and
.nswag.json
files in
NSwagStudio
.
This extension is for those times where you generate
.nswag
and
.nswag.json
files and you want to be able to quickly open it in
NSwagStudio
.
Prerequisite
In order to use this extension, you must have
Visual Studio
2017/2019, this connected service as well as
NSwagStudio
installed.
Solution Explorer
You can open
.nswag
and
.nswag.json
files in
NSwagStudio
by simply right-clicking it in Solution Explorer and select
Open in NSwagStudio
:
Path to NSwagStudio.exe
If you installed
NSwagStudio
at a non-default location, a prompt will ask for the path to
NSwagStudio.exe
.
You can always change the location in
Tools -> Options -> Web -> Unchase OpenAPI (Swagger) Connected Service
:
Compare OpenAPI-specifications...
Command
Since
v1.2.
* have been added menu command embedded in Visual Studio Solution Explorer context menu lets you compare generated
.nswag.json
specification-file with another
.nswag.json
specification-file (or with specification given by
endpoint
).
This extension is for those times where you generate
.nswag.json
file and you want to quickly compare it with another specification or specification given by
endpoint
.
Prerequisite
In order to use this extension, you must have
Visual Studio
2017/2019 as well as this connected service.
Solution Explorer
You can compare
.nswag.json
specification-file with another
.nswag.json
specification-file (or with specification given by
endpoint
) by simply selecting one or two files and right-clicking them in Solution Explorer and select
Compare OpenAPI-specifications...
:
Path to the specification
Endpoint
You can always change the specification Endpoint to compare with in
Tools -> Options -> Web -> Unchase OpenAPI (Swagger) Connected Service
:
Compare View
HowTos
[ ] Add HowTos in a future
[ ] ...
request for HowTo you need
Troubleshooting
Can't open .nswag file in NSwagStudio
You can use
Open in NSwagStudio
menu command
If generated code corrupted, try to open
.nswag
file in
NSwagStudio
(Windows GUI for editing .*nswag files)
If it doesn't open, try to create new
.nswag
file in
NSwagStudio
for the same API service link and check the differences
Installation completes but I can't see the Service in the list of connected services (Visual Studio 2019)
Relevant
bug report
.
Connected Services
restored in the v16.1.3 update to
Visual Studio
2019.
Roadmap
See the
changelog
for the further development plans and version history.
Feedback
Please feel free to add your
review
,
request a feature
,
ask a question
or
report a bug
including in connected service:
Thank you in advance!
Thank me!
If you like what I am doing and you would like to thank me, please consider:
Thank you for your support!