My WebApi controllers are located in an assembly (self-hosted OWIN application or ASP MVC application). Is it possible to use ApiExplorer form another application (that loads an assembly with WebApi controllers dynamically) to generate Web API documentation?
ApiExplorer for WebAPI controllers in external assembly
1.8k Views Asked by Vitone At
1
There are 1 best solutions below
Related Questions in C#
- Passing arguments to main in C using Eclipse
- kernel module does not print packet info
- error C2016 (C requires that a struct or union has at least one member) and structs typedefs
- Drawing with ncurses, sockets and fork
- How to catch delay-import dll errors (missing dll or symbol) in MinGW(-w64)?
- Configured TTL for A record(s) backing CNAME records
- Allocating memory for pointers inside structures in functions
- Finding articulation point of undirected graph by DFS
- C first fgets() is being skipped while the second runs
- C std library don't appear to be linked in object file
- gcc static library compilation
- How to do a case-insensitive string comparison?
- C programming: Create and write 2D array of files as function
- How to read a file then store to array and then print?
- Function timeouts in C and thread
Related Questions in ASP.NET-WEB-API
- Implement Onfailure in webApi controller
- WebApi: Reading errors
- Why web API return 404 when deploy to IIS
- One Web API calls the other Web APIs
- colon(:) in url causes error in asp.net
- Make a per-web-application object available to Web API and SignalR controllers
- Using Azure MobileServices library with my own LAN WebApi
- redirect to actionResult method from an api
- How to catch postpack result to Web Api
- Exposing webapi to third party
- .net Web Api 2 Owin authentication token expires suddenly and often on IIS 8.5
- Can you use the same token in ADFS for 2 different relying parties?
- Does 'api/SomeEntity/ForOtherEntity/{otherEntityId}' break REST?
- Generic webAPI method based on parameter types of arrays
- Where can I find user identity when using webapi with Windows Authentication on IIS8
Related Questions in ASP.NET-MVC-APIEXPLORER
- Creating Help Pages for ASP.NET Web API and Documenting Return types
- How to call a method from API Controller using ajax
- Web API, model binding, [FromUri], and WebApiExplorer not playing well together
- ASP.NET Web API Generate all parameters from model - help pages
- Web Api - Auto generating request samples using ApiExplorer
- ASP.Net Web Api - ApiExplorer does not contain any ApiDescriptions
- How to pursuade the ApiExplorer to create documentation for ExpandoObject?
- How to add healthcheck endpoint to ApiExplorer so that Swashbuck includes it in the generated swagger.json
- swagger issue with [FromBody]
- How to tell web api ApiExplorer that the endpoint will return binary data (like a zip file)?
- WebApi: ApiExplorer and Custom ModelBinders
- Deleting multiple Record with apiController and angular
- Valid routes not discovered by MVC.ApiExplorer
- WebAPI Help Page - Documentation for return or parameter model/class properties
- ASP.NET WebAPI - How to scan registered Actions
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
ApiExplorer uses the GlobalConfiguration to determine the available ApiControllers. When you specify an external assembly you typically do this by replacing the IAssemblyResolver that WebApi is using. This can be done in Application_Start like this:
Here's the implementation of AssemblyResolver:
One might think that this is enough for ApiExplorer to pick it up but it is not. When ApiExplorer starts the GlobalConfiguration is passed to the HelpController. If you look carefully at the instance of GlobalConfiguration you will see that the changes you affected in your Application_Start are not there. So, to get ApiExplorer to pick up your external class you can just update the IAssemblyResolver like this:
There is probably a cleaner way to do this so you don't break DRY - but have not found it yet. Will update this post when I find it.