In the (let's say) "early days" of .net's webapi the controllers and its operations could be listed (with the option to try the operation) using the nuget https://www.nuget.org/packages/Microsoft.AspNet.WebApi.HelpPage/ which is currently out of maintenance (I believe) because the last update was in february 2015 which is 2,5 years ago.
During some research I found a perfect alternative which seems to be the more or less official successor: https://www.nuget.org/packages/Swashbuckle .
There is a perfect tutorial from redgate related to swashbuckle at: https://www.red-gate.com/simple-talk/dotnet/net-development/visual-studio-2017-swagger-building-documenting-web-apis/
It works in 5 minutes and allows to generate REST API Clients which means perfect fit between client and server.
Things I changed (after installing the nuget):
I don't needed to adapt the global.asax file from the root folder (and which does not work in a sub-folder which is very logical afterwards, but took me an 1 hour of research to find the bug).
In the global.asax (application_start) I still have:
kr,
Daniel
During some research I found a perfect alternative which seems to be the more or less official successor: https://www.nuget.org/packages/Swashbuckle .
There is a perfect tutorial from redgate related to swashbuckle at: https://www.red-gate.com/simple-talk/dotnet/net-development/visual-studio-2017-swagger-building-documenting-web-apis/
It works in 5 minutes and allows to generate REST API Clients which means perfect fit between client and server.
Things I changed (after installing the nuget):
- c.DocumentTitle
- c.IgnoreObsoleteActions
- c.IgnoreObsoleteProperties
- c.IncludeXmlComments
with the function from the redgate blog-entry (add xml documentation in properties)
protected static string GetXmlCommentsPath()
{
return System.String.Format(@"{0}\bin\webDemo.XML",
System.AppDomain.CurrentDomain.BaseDirectory);
}
I don't needed to adapt the global.asax file from the root folder (and which does not work in a sub-folder which is very logical afterwards, but took me an 1 hour of research to find the bug).
In the global.asax (application_start) I still have:
- simple-injector init (see: http://simpleinjector.readthedocs.io/en/latest/webapiintegration.html
- GlobalConfiguration.Configure((config) =>
{
((HttpConfiguration)config).MapHttpAttributeRoutes();
});
kr,
Daniel
No comments:
Post a Comment