Git Product home page Git Product logo

swagger-net's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

swagger-net's Issues

How I do Authorization Bearer with Swagger-Net

Hello,

I'm looking a way to use Bearer Authorization with Swagger-Net, but I didn't find way to do that,
It's possible help me, what is the best way to do that using swagger-net

Thanks.

Support of OAuth2 through browser

Is it possible to configure Swagger-Net to perform OAuth2 authentication via the browser? In our case, we need to perform a GET request to initiate login, and our identity provider uses two factor authentication. That requires additional forms that the simple authorization built into swagger-ui does not appear to support, unless I am missing something...

XmlCommentsIdHelper.AppendMethodName should use [generic type => int] lookup instead of increasing the number

Good day and thank you for this nice library.
I found an issue with AppendMethodName method: I think it can't just increment the generic number. This number designates zero-based index of a type's generic parameter. So, in case if I have a class:

class SomeGenericClass<TFirst, TSecond, TThird>
{
    public void SomeMethod(TFirst foo, TThird bar)
    {

    }
}

Current AppendMethodName implementation will create M:SomeGenericClass`3.SomeMethod(`0,`1) XML method name for SomeMethod while the right one is M:SomeGenericClass`3.SomeMethod(`0,`2) because TThird's position in declaring class typeparams is 2, not 1. So I think it should use lookups instead of simply incrementing the number.

Annotations to describe the parameters of the actions and the controller in class

Hello,

I need annotations to describe the parameters of the actions and the controller in class.

Like this:

[SwaggerDescription("Controller description")]
public class ExampleController : ApiController {
    [SwaggerExample("id", "Parameter description")]
    public IHttpActionResult ExampleAction(string id) {
    }
}

I've been looking at the tests and I think it's not implemented.

Will it be available in the future?

Regards.

Saving the swagger json to disk, how to make it match the web version

I wrote some code to add to the SwaggerDocsHandler to save a copy of the swagger json to disk.
that way if the swagger is not in memory but is in the disk folder i could read that file and cache that to memory. this way between publishing an update the full generation could happen just one time.
i have the code using newtonsoft json to save and read the data but on read i get an error about the $ref elements.

so i saved a copy and then ran the web site and saved the doc from the web site url.
the web site url version is much shorter than the newtonsoft version.

do i need to use the code in the ContentFor() method to make it right ?
var content = new ObjectContent(typeof(SwaggerDocument), swaggerDoc.SwaggerDocument, result.Formatter, result.MediaType);

should i actually save this ObjectContent version of the data ???

or is there another method i should use to do this ?

Provide Configuration for Swagger Documentation Syntax - YAML

This is more of a feature request than an issue, because the software works extremely well (especially for my more advanced requirements such as adding Vendor Extensions and adding required Headers to the Swagger UI via Operation Filters) - nice work! I am looking for a way to export the Swagger document in YAML format. The JSON format is perfect for me, but unfortunately, I am tasked with providing the document in YAML format. I suppose I could write a JSON to YAML converter myself (for now), but figured I would reach out to see if this is something that could be put into a feature enhancement list.

I am hoping "document syntax" or "document markup" could be configurable via Swagger.config, or maybe provide an "Export" button on Swagger UI, allowing the consumer to choose "Export as JSON" or "Export as YAML". Specifically, I am tasked with exporting the document in the same way you can choose YAML on the Swagger website here: https://editor2.swagger.io .. For now, I am copying the JSON, going to that Swagger website editor, pasting the JSON and exporting/saving as a YAML document. I do have a workaround, but was thinking this would be an awesome feature for those of us tasked with providing the document in YAML format.

P.S. Truly an awesome tool; by far the best ASP.NET Web API NuGet package for Swagger UI.

NullReferenceException thrown from XmlCommentsIdHelper

Hi,

We've come across an issue using the Swagger-Net NuGet package in our site.

A NullReferenceException is thrown from within the ExpandGenericArgsIfAny method of XmlCommentsIdHelper.

After investigation I've managed to pinpoint the issue and recreate it using your Swagger.Net.Tests project. Please see my commit 8c491c36. With the modified Controller, 21 of your existing tests fail with:

System.NullReferenceException : Object reference not set to an instance of an object.
   at Swagger.Net.XmlComments.XmlCommentsIdHelper.ExpandGenericArgsIfAny(Type type, StringBuilder builder, IDictionary`2 genericParametersPositions) in <repo_dir>\Swagger-Net\Swagger.Net\Swagger\XmlComments\XmlCommentsIdHelper.cs:line 96

The issue lies with a nested class using generic types from the class it's nested into.

The tests go green if I put a null check on line 89, changing:

if (type.IsGenericType)

to:

if (type.IsGenericType && genericParametersPositions != null)

Though I'm unsure if this is the correct solution.

Any help on this issue is appreciated.

New Endpoint URL format breaks OAuth redirects

Previously I was using swagger + swashbuckle without issue, and simply registered the single redirect url and we were good.

Upon updating to Swagger-Net (based on latest swagger-ui) however, the URLs no longer use a #hash-format but instead a ?query-parameter to select which API version you're looking at.

This is affecting the redirect_url for oauth2 clients, meaning I now need to register a client for every api version.

This is further complicated by the fact that our selected identity provider enforces a unique client_id, meaning we can't register multiple redirect_urls for the same client_id, so the end-user is forced to update the client_id when changing end points too.

Previous redirects all went via o2c.html, now occasionally they go via oauth2-redirect-html?urls.primaryName=swagger%2Fdocs%2FAPI

Interestingly, if I auth on the initial page, THEN swap to the selected api version, the auth is remembered. I can then log out, then log in successfully.

However if I browse to the api version first, then attempt to log in, the altered redirect url is used.

Documentation Improvement Suggestion

Hello,

Small suggestion: on the custom asset, it is possible to add a custom requestInterceptor in the SwaggerUIBundle object, which I believe is intended.
I suggest adding some information on the documentation about this, especially about the fact that the request parameter passed to the function HAS to be returned.
If you don't return the request object, the request seems to still be properly executed but the CURL box is broken.

how to configure the swagger info json ?

i do not see a way in the current code to configure the swagger to put in values for the info object.
if that is true and i have not missed something then perhaps we can add that to the enable swagger / options later...

On the use of nginx reverse proxy

Swagger-Net" version="8.3.9.301"

nginx config
server {
    listen       8001;                      
    server_name api.jhtmsf.com;    			
    location / {
		proxy_pass  http://127.0.0.1:8007;
		proxy_set_header Host $host:$server_port;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header REMOTE-HOST $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		client_max_body_size    2000m;		
		root   html;
		index  index.html index.htm;
    }
}

tim 20180722181650

Thank you very much for your selfless dedication.
Can you solve this problem through configuration?

With `SwaggerDocsConfig.DescribeAllEnumsAsStrings()`, defaults remain integer.

enum

public  enum Filter {first, second, third};

controller snippet

[Route("test")]
public HttpResponseMessage Get(Filter filter = Filter.first)

snippet of generated swagger.json:

"parameters": [
                    {
                        "default": 0,
                        "enum": [
                            "first",
                            "second",
                            "third"
                        ],
                        "in": "query",
                        "name": "filter",
                        "required": false,
                        "type": "string"
                    }]

swagger ui
image
image

Expected Result:

  • swagger.json - "default":"first"
  • Swagger UI - defaults to "first" in dropdown when using "Try it out"

Actual Result:

  • swagger.json - "default":0
  • Swagger UI - defaults to "--"

TypeExtensions generate bad IDs

In TypeExtensions.cs, you're denoting generic classes using square brackets.

Once you try and parse the generated definitions in editor.swagger.io, these will force an error:

Semantic error at paths./awards/v0/public/awardtiers.get.responses.200.schema.$ref
$ref values must be RFC3986-compliant percent-encoded URIs

This is because RFC3986 reserves square brackets for denoting ip addresses.

A host identified by an Internet Protocol literal address, version 6
[RFC3513] or later, is distinguished by enclosing the IP literal
within square brackets ("[" and "]").  This is the only place where
square bracket characters are allowed in the URI syntax.  In
anticipation of future, as-yet-undefined IP literal address formats,
an implementation may use an optional version flag to indicate such a
format explicitly rather than rely on heuristic determination.

I'm happy to open a PR for this, but wanted some input on what you thought a suitable replacement might be.

The reserved characters from RFC3986 are:

      gen-delims  = ":" / "/" / "?" / "#" / "[" / "]" / "@"
      sub-delims  = "!" / "$" / "&" / "'" / "(" / ")"
                  / "*" / "+" / "," / ";" / "="

With that in mind, we can't use square brackets, or commas, so I was hoping to open discussion about viable alternatives

  • C# uses Generic<Type1,Type2>
  • Swagger-Net uses Generic[Type1,Type2]

ApiVersion parameter in query instead header

Hello,

I thinks have found a bug in parameter generation.

I recently use MultipleApiVersions instead SingleApiVersion.

We use header param for ApiVersionning (because we don't want change URL at each version) but that not work in Swagger (but a simple REST call works fine!)

Swagger thinks my param is a query param but not, it's an header param.

You can see my hotfix here : ecoburotic@d148de1

I can't make a pull requests because I have other commits.

My server code (for information, if that can help you to reproduice)

In WebApiConfig.cs

 // Configuration et services API Web
 config.AddApiVersioning(o =>
 {
     o.ReportApiVersions = true;
     o.AssumeDefaultVersionWhenUnspecified = false;
     o.ApiVersionReader = new HeaderApiVersionReader("api-version");
     o.ApiVersionSelector = new CurrentImplementationApiVersionSelector(o);
 });
 
 var apiExplorer = config.AddVersionedApiExplorer(options =>
 {
     options.GroupNameFormat = "V.V";
     options.DefaultApiVersionParameterDescription = "Version de l'API";
 });

In SwaggerConfig.cs

 c.MultipleApiVersions(
     (apiDesc, targetApiVersion) =>
     {
         targetApiVersion = targetApiVersion[0] + "." + targetApiVersion[1];
 
         List<string> apiVersions = apiDesc.ActionDescriptor.GetApiVersions().Select(apiVersion => apiVersion.ToString()).ToList();
 
         return apiVersions.Contains(targetApiVersion);
     },
     (vc) =>
     {
         var t = GlobalConfiguration.Configuration.Services.GetApiExplorer();
         var t2 = t.ApiDescriptions;
 
         foreach (ApiDescriptionGroup item in ((VersionedApiExplorer)t).ApiDescriptions)
         {
             vc.Version(item.ApiVersion.ToString().Replace(".", string.Empty), "EcoServiceREST API v" + item.ApiVersion.ToString());
         }
     });

x-requested-with header

In our API, we use OAuth2 authentication with a package called SecureAuth. When I use Authorize to get a token, the CORS preflight is failing. The error in the Chrome console shows:

Access to fetch at 'https://xxxx.org/secureauth12?response_type=id_token&redirect_uri=http%3A%2F%2Flocalhost%3A4143%2Fcontent%2Foauth.html&scope=openid%20email%20profile&client_id=zzzzzzz' from origin 'http://localhost:4143' has been blocked by CORS policy: Request header field x-requested-with is not allowed by Access-Control-Allow-Headers in preflight response.

I suspect this is because the JavaScript is trying to send X-RequestWith: XMLHttpRequest header. Is there any way to disable this, short of building a custom version of Swagger-Net? One of our other teams is using Swashbuckle, but that has not been active for some time.

Is there a way to exclude an obsolete value from a list of values in an enum?

Hello,

I was wondering if there's a way to hide an obsolete enum value from being listed in dropdown. I'm aware that this feature is present for actions and properties by just marking them as [Obsolete] and using IgnoreObsoleteActions() and IgnoreObsoleteProperties() but I was wondering if its possible within the granularity of values within enums..?

FromHeaderAttribute : List<T> not manage

Hi,

I try to migrate my "specific code" to your "included code" but I can't use it for list parameter.

You can see my code at
https://github.com/ecoburotic/Swagger-Net/blob/master/Swagger.Net/Swagger/Annotations/ApplySwaggerHeaderParamAttribute.cs

If you can manage name override that can be great ๐Ÿ‘

Debug capture
image

Swagger-UI capture
image

Swagger-Doc extract
{ "name": "idsBusiness", "in": "header", "required": true, "items": { "type": "integer", "format": "int32" }, "type": "array" }

[Bug] Basic Authentication is not being sent on the headers

Hello,

First, I would like to thank you for this amazing library. It is really cool and works great. However, I think I found a bug, when setting up the basic auth on the SwaggerConfig file a button appears on the UI which is correct, however even if we set the username and password correctly I always get Un-Authorized. By debugging in the Firebug console it never sends the Auth basic credentials set on the fields.

Am I missing something on the setup or is this a bug?

Thanks in advance,
Victor

Is it possible to inject content into each request/response section?

We have some calls that return response codes within the content (in addition to the HTTP response code). I would like to generate some content to output (preferebly in C# via reflection) and have it output in the response section for the call. Is this possible without just hacking the DOM?

how to order controller by controller name ?

Aftet I have configed SwaggerConfig.cs as follow, the order of the controller become disordered:
c.IncludeXmlComments(GetXmlCommentsPath("Api.xml"));

by the way, the comments of "Api.xml" is chinese

Nullable data type

Hi,
Is there anyway to display nullable data type on definitions?
Thanks.

DocExpansion.List causing lags

I was wondering if there's a way to collapse/hide/disable the "models" being displayed by the generated swagger but still have the rest of the APIs expanded. DocExpansion.List seems to expand the models as well causing terrible lags in the UI. Of course, one solution is to just use DocExpansion.None and have everything collapsed initially but I was wondering if the above is still possible..?

Add support for showExtensions configuration

Hello,

Swagger-UI 3.5.0 supports the new config showExtensions. It allows one to display vendor extensions on the UI. It would be nice to have Swagger-Net support it.

Not sure if you accept MRs, but if you don't have time I could try to work on it.

Thanks!

async method not explored ?

Hi

This packages works quite fine out of the box, but - maybe i've missed a configuration - it seems to not be able to see Controller's public methods flagged with the async C# keyword.
"async" services work well.

A reflection problem or something to do in configuration ?

thx :)

return type pdf / document filter

i created a filter to set the response type to pdf
the ui shows the response type but i still get a text box that is labeled
"Unrecognized response type; displaying content as text."
the headers show that it is a pdf

content-disposition: inline; filename=Label4x6_v3development11872371541680226306.pdf
content-type: application/pdf

any idea if there is a way to get it to open acrobat or show the pdf ?
or is that not possible to do ?

Feature: secure swagger route

Ok i know there are multiple answers to this and that is part of why i am posting this.
with swashbuckle and with nswag and with swagger-net each package is generating the json and bundling the UI but each user has to then figure out how to make sure that only the right users can browse the UI and see the JSON.
seems like this should be part of the standard packages as the packages are setting up a route that the user had limited control over.
so possibly adding some configure options might be a good move to make this better ?

also related i see that Open API V3 changes the Swagger json spec to better work with OpenID Connect.
I use Identity server and Open ID Connect so a move to better work with that would be a real plus for me.

Fix issue where examples are not serialized properly

I have been running into an issue where examples aren't serialized properly - they are generating with PascalCase property names instead of being correctly serialized to CamelCase:

  "example": {
    "EmployeeExpenses": {
      "12345": [
        {
          "EmployeeExpenseCategoryId": "98",
          "EmployeeExpenseCategoryName": "My expense category",
          "Notes": "Some notes",
          "Amount": 12.34,
          "TaxCode": "42rty",
          "TaxRate": 0.5,
          "TaxCodeDisplayName": "Tax Code Display",
          "LocationId": "39",
          "LocationName": "My Location",
          "EmployeeId": "1235",
          "EmployeeName": "Bob Bobberson"
        }
      ]
    },
    "PayRunId": 999
  },

It seems that in Swashbuckle, these issues were marked as won't-fix.

Issue 694
Issue 709

Is it possible that we could resolve these issues in this library instead?

Newtonsoft.Json

Nuget package reference to newtonsoft.json v11, but after installing Swagger-Net and running it we got an error:

An error has occurred. Could not load file or assembly 'Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) System.IO.FileLoadException at Swagger.Net.Application.SwaggerDocsConfig.GetSwaggerProvider(HttpRequestMessage swaggerRequest) at Swagger.Net.Application.SwaggerDocsHandler.Generate(HttpRequestMessage request, String apiVersion) at System.Collections.Concurrent.ConcurrentDictionary`2.AddOrUpdate(TKey key, Func`2 addValueFactory, Func`3 updateValueFactory) at Swagger.Net.Application.SwaggerDocsHandler.GetContent(HttpRequestMessage request) at Swagger.Net.Application.SwaggerDocsHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) at System.Net.Http.HttpMessageInvoker.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) at System.Web.Http.Dispatcher.HttpRoutingDispatcher.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) at System.Net.Http.DelegatingHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) at System.Web.Http.Cors.CorsMessageHandler.d__2.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()

Need to update nuget package reference.

onComplete of customAsset not passing swaggerUI and swaggerAPI parameters

Hello,

I am trying to change the behavior of index html file so that the interceptor would add our custom api version header in the request when using "try it out".

I discovered that the onComplete method (here taken from the repository)

            onComplete: function (swaggerApi, swaggerUi) {
                window.swaggerApi = swaggerApi;
                swaggerNetConfig.customScripts.forEach(function (script) {
                    getScript(script);
                });
            }

has swaggerApi and swaggerUi parameters but they are always undefined.

I could work around the issue but those parameters should either be removed from the code or should be populated properly.

Removing routes from the Paths list doesn't remove the controller completely from the swagger UI

It used to be enough to remove a path from the SwaggerDocument paths list to hide a controller from the swagger UI in swashbuckle using a documentfilter. That doesn't seem to work here. An empty list item with the controller name remains on the Swagger UI. Is that the expected behavior? Does it have to be removed from the definitions list as well now?

var paths = new Dictionary<string, PathItem>(swaggerDoc.paths);
                    swaggerDoc.paths.Clear();
                    foreach (var api in apiExplorer.ApiDescriptions)
                    {
                        var route = "/" + api.Route.RouteTemplate.TrimEnd('/');
                        if(ViewableAPIs.Any(x => route.Contains(x)))
                        {
                            var path = paths.TryGetValue(route, out PathItem pathItem);
                            if (pathItem != null)
                                swaggerDoc.paths.Add(new KeyValuePair<string, PathItem>(route, pathItem));
                        }
                    }

Feature: Show enums even though numeric values used on wire

Currently c.DescribeAllEnumsAsStrings can either show that we take strings on a wire or numbers (and then we see choices in description)

In our case we do use numbers when data transmitted/received but we would like to show string representations of those enums for documentation purpose. So, if we have enum like this:

enum Status : byte {
Active = 1,
Inactive = 0
}

We like documentation to show "0" but model show something like "0-Inactive, 1-Active", not just number 0,1

Cant remove required in complex data type

Hi. I got this model

public class SomeRequest
{
    [DefaultValue(null)]
    public Loc Location { get; set; }
}

public class Loc
{
    [DefaultValue(0f)]
    public float Longitude { get; [UsedImplicitly] set; }

    [DefaultValue(0f)]
    public float Latitude { get; [UsedImplicitly] set; }
}

I want the location to be optional in swagger. and yet i can't seems to manage that. the json result is:

parameters: [
{
    name: "Location.Longitude",
    in: "query",
    required: true,
    type: "number",
    format: "float"
},
{
    name: "Location.Latitude",
    in: "query",
    required: true,
    type: "number",
    format: "float"
}
],

Any idea how to manage that? thanks

Web API methods that return Lists render incorrect models in documentation

Web API methods that return typed Lists show something strange as the model, for example...

	/// <summary>
	/// Get all filters
	/// </summary>
	/// <returns></returns>
	[HttpGet]
	[Route("api/filter")]
	public List<FilterSummary> GetFilters()
	{
                  ...
	}

renders as:
[
xml: OrderedMap { "name": "FilterSummary", "wrapped": true }
LI.Models.WebApi.FilterSummary{...}]

SwaggerUI: random mixed versions

Short introduction: I have 4 versions of 7 controller with ~30 methods. SwaggerUI (If you have luck, the site is currently corrupted like I describe)
The site is running all day and at any point and randomly the versions are mixed up.
FYI: happening nearly every ~2-4 months.

Example: I'm on the V4 of the Api, and see on some controllers just V1 methods.

Meanwhile after lots of research we cannot figure out, at which point this is happening.
Its neither after an update or some other maintaince.

We currently have Swagger-Net 8.3.18.1.

We figured out that after an iisreset, the problem disappears for a while.
But this minor solution is really difficult for us, because we cannot iisreset at any time we want.

Furthermore, the OpenApi file is also corrupted at this time.
But the endpoints which are not shown in SwaggerUI, are available at any time, from any REST Client.

Nice to know, this is happening at 5 complete different servers all the time. (not on the same time)

Locked to version 5.2.4 of System.Net.Http.Formatting

If I upgrade
Microsoft.AspNet.WebApi.Client
Microsoft.AspNet.WebApi.Core
to the latest version of my project referencing Swagger-Net, I will get error when starting up the application because System.Net.Http.Formatting and Newtonsoft.Json version are hard coded into the app.config file.

The packages.config says it'll support 5.2.4 and above. Which is not correct.

To replicate:
Create a new web api project, add swagger-net
Upgrade to the latest version of
Microsoft.AspNet.WebApi.Client
Microsoft.AspNet.WebApi.Core
Newtonsoft.Json

Start up the web api project and it'll fail, because the current version of the dll's are newer than the ones that are referenced in the app.config of Swagger-Net.

Solution: remove the app.config file from the project.
Or under application in the project settings: turn off "Auto-generate binding redirects"

Swagger-Net is not compatible with System.ValueTuple 4.4.0

I have found out Swagger-Net is not compatible with System.ValueTuple 4.4.0 package. When I update from version 4.3.0 to 4.4.0 of this package, Swagger fails to load API definition. I am using the latest stable 8.3.13.2.

Following is the error message listing from the spec endpoint:

{
    "Message": "An error has occurred.",
    "ExceptionMessage": "The 'p' start tag on line 1241 position 2 does not match the end tag of 'th'. Line 1241, position 92.",
    "ExceptionType": "System.Xml.XmlException",
    "StackTrace": "  
        at System.Xml.XmlTextReaderImpl.Throw(Exception e)
        at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args)
        at System.Xml.XmlTextReaderImpl.ThrowTagMismatch(NodeData startTag)
        at System.Xml.XmlTextReaderImpl.ParseEndElement()
        at System.Xml.XmlTextReaderImpl.ParseElementContent()
        at System.Xml.XmlTextReaderImpl.Read()
        at System.Xml.XPath.XPathDocument.LoadFromReader(XmlReader reader, XmlSpace space)
        at System.Xml.XPath.XPathDocument..ctor(String uri, XmlSpace space)
        at Swagger.Net.Application.SwaggerDocsConfig.<>c__DisplayClass58_0.b__0()
        at Swagger.Net.Application.SwaggerDocsConfig.GetSwaggerProvider(HttpRequestMessage swaggerRequest)
        at Swagger.Net.Application.SwaggerDocsHandler.Generate(HttpRequestMessage request, String apiVersion)
        at Swagger.Net.Application.SwaggerDocsHandler.<>c__DisplayClass5_0.b__0(String _)
        at System.Collections.Concurrent.ConcurrentDictionary`2.AddOrUpdate(TKey key, Func`2 addValueFactory, Func`3 updateValueFactory)
        at Swagger.Net.Application.SwaggerDocsHandler.GetContent(HttpRequestMessage request)
        at Swagger.Net.Application.SwaggerDocsHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        at System.Net.Http.HttpMessageInvoker.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        at System.Web.Http.Dispatcher.HttpRoutingDispatcher.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        at System.Net.Http.DelegatingHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        at Catalyst.WebApi.Infrastructure.LanguageMessageHandler.<>n__0(HttpRequestMessage request, CancellationToken cancellationToken)
        at Catalyst.WebApi.Infrastructure.LanguageMessageHandler.d__6.MoveNext() in C:\\Dev\\CatalystServer\\Catalyst.WebApi\\Infrastructure\\LanguageMessageHandler.cs:line 70
        --- End of stack trace from previous location where exception was thrown ---
        at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
        at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
        at System.Web.Http.HttpServer.d__24.MoveNext()
    "
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.