When i add an Obsolete attribute to a controller action swagger correctly shows the endpoint as Deprecated in the UI but it dosn't show the Message. For example.
[Obsolete("This endpoint will no longer be supported. Use /api/somepath instead")]
Is it possible to see this message in swagger ui?
Edit
We are using Swashbuckle for integration with ASP.net Web Api
Related
Take this for example:
[Obsolete("Please use /Auth/Register instead")]
Swaggers UI shows its Obsolte but doesnt show the message, so is it possible to have the message inside the attribute show in the Swagger UI? (Without having to change library like this post says) Im using Swashbuckle.AspNetCore (Default with ASP.NET) v6.3 (OpenAPI / Swagger v2.0, v3.0)
We have a .NET core 1.1 webapi project. We have two controller files and I've been able to generate separate swagger JSON files for each controller by decorating methods with GroupName.
When I browser the swagger UI (/swagger) I see that it has a drop down on top right corner that allows us to select the group.
Our requirement is to have a separate URL itself for swagger UI (not just JSON file) so that we can send a URL dedicated to a controller to our customers that doesn't confuse them. Is there a way to tell swashbuckle/swagger UI to use a specific URL for given JSON file/group name?
I tried checking if there's any query string parameter that swagger UI uses on change of dropdown but unfortunately it uses referer http header...
Yes swagger-ui has the url param that does exactly that.
Here are a few examples:
http://petstore.swagger.io/?url=http://heldersepu.github.io/hs-scripts/swagger/4134_swagger.json
http://offleaseonly.azurewebsites.net/swagger/ui/index?url=https://raw.githubusercontent.com/oasis-tcs/odata-openapi/master/examples/People.openapi3.json
http://swagger-net-test.azurewebsites.net/swagger/ui/index?url=http://heldersepu.github.io/hs-scripts/swagger/DiegoGuidi.json
I have created a new application using the ASPNetBoilerplate MVC 5x template. I have integrated Swagger UI according to the link:
https://aspnetboilerplate.com/Pages/Documents/Swagger-UI-Integration
Again using the MVC 5x version
When I run the app and use http://localhost:/swagger to access the API and try to run any of the GetAll methods, I get a 400 error.
I have modified the .cs file and created the .js files by cutting the code directly from the documentation and made the required changes.
What am I missing?
Thanks
I hope you are not navigating to http://localhost:/swagger because there's a typo error. Correct url is http://localhost/swagger
There's no official support for bearer token for Swagger UI Api calls. But you can checkout the link below. A developer achieves what you want
https://github.com/aspnetboilerplate/module-zero-core-template/pull/87
We have a .NET solution with 2 projects:
ASP.NET MVC Portal project
OWIN Host API project (with custom
controller selector)
We are trying to expose a public documentation to a few API controllers in the OWIN-based API project
We would like to show the Swagger UI from the Portal project for controllers in the API project
So far, all attempts have not been successful. When adding Swagger UI to the Portal project, it only wants to show documentation about controllers in the Portal project, not from the API project.
When adding Swagger UI to the API project (not preferred solution), it doesn't work at all, probably because of the custom controller selector
However, I think I'm missing something obvious as this feels like a very basic configuration setting that we're missing
Swagger UI is only a set a static file rendering OpenAPI (fka. Swagger) Specification files. These specification files can be produced by an application or simply manually written.
You could modify the original Swagger UI to create your own version and replace the URL field (on top near the Authorize button) by a drop list pointing to your 2 different applications producing OpenAPI (fka. Swagger) specification.
I have created a new WEB API project integrating Swashbuckle and Swagger UI.
I am able to access Swagger web page via http://localhost:port/swagger/ui/index#/
However, where is the view/index.html/index.cshtml for this page?
I am a newbie to MVC, please help.
The swagger-ui is served by the swashbuckle assembly. The source is not available in your project. You can, however, retrieve the source from github and inject it in swashbuckle as described in the swashbuckle documentation