Adding an API definition manually in swagger using springfox - swagger

I am using springfox for generating Swagger API documentation for REST APIs exposed by a spring boot application.
I need to add documentation for an API manually for which there is no REST controller, technically. How can I manually add to the Swagger API documentation? I want to do it once from the code.

You can create it using plugins mechanism. Create ApiListingScannerPlugin to dynamic added ApiDescription and OperationModelsProviderPlugin to dynamic added Definitions

Related

How do add swagger annotations appropriately to every endpoint in JSON in order to publish an open API doc?

I'm working on a project in which I'm required to add swagger annotations to endpoints in a postman collection in a JSON file on GitHub. I'm a beginner in API documentation and I've not sure how to go about this. Any suggestions?

Apache Wicket REST with Swagger UI

One of my project is using Apache Wicket 6.x and I have some API (resources) using wicketstuff-rest and it is working perfectly.
But for my API documentations, I am maintaining a google document for these APIs. Problem is that whenever there are changes in any of the API, or even on new APIs... I need to update this API documentation. Chances are, this documentation may not be updated.
On my other springboot projects, I am using swagger and the API documentation can be viewed via swagger-ui.
I wonder if I can use swagger-ui with existing apache wicket 6.x project so that whenever there are new API(s) or any change on the existing API(s)... it will reflect in swagger-ui without the need to maintain any API documentation.
What I currently search is swagger2markup, but this seems to be old and I am having problems with the setup and there are very few resources on how to set this up.
Anyone who successfully setup swagger-ui with apache wicket rest?
Care to share resource/links on tutorials or how to setup swagger-ui on apache wicket rest?
Thanks!
I don't have an easy solution for you with Swagger but if you use Spring already then you could use Spring REST Docs to generate the documentation from the unit tests.

Swaggerhub integration in spring boot

I am new to swaggerhub so please explain me from basics.
In our project we are using springfox swagger and need to generate swaggerhub api specification.
How can I achieve this? Please let me know in detail or share reference links.
Your question is a little confusing. What do you mean by "swaggerhub api specification"?
Swagger is the documentation specification/tools used to work with the document spec. SwaggerHub is a design and collaboration tools for creating and maintaining Swagger documents.
SwaggerHub hosts Swagger documents, they work together rather than independently.
If you're creating Swagger documents and want to upload them to SwaggerHub automatically, you can do that using the SwaggerHub CLI or Registry API tools:
CLI: https://github.com/SmartBear/swaggerhub-cli
Registry API: https://app.swaggerhub.com/apis-docs/swagger-hub/registry-api/1.0.62

Integrate the swagger ui into hammock

I am building up a CDI/REST Environment as basis for several projects by using hammock. What I would like to have besides CDI and REST is also json schema for generating payload classes and an automatically generated REST API documentation via swagger ui.
I am now at the point where everything works (Weld3, Resteasy, Undertow, Swagger Core, Json Schema). The only thing missing is the integration of swagger UI into my hammock stack.
In another project I already worked with swagger UI. As far as I know it is based on HTML + JS with an entry point index.hml. How do I integrate this into my hammock stack. How to tell the undertow that there is a index.html and where to find it ?
I think my question is not only related to swagger, but to the idea to have the hammock stack with additional static html content.
John Ament has added a swagger module for Swagger 2.0-rc3 to Hammock 2.1-SNAPHOT (will be released as part of Hammock 2.1):
https://github.com/hammock-project/hammock/tree/master/swagger
As for hosting Swagger UI inside a Hammock app, you can add a few files from swagger-ui/dist/* to Hammock's static resources path:
https://github.com/hammock-project/hammock/wiki/Native-Filters#static-resources

Programmatically append Swagger operations to generated JSON

I have a Dropwizard application with Swagger annotated Java resource classes. I'm also creating programatic REST resources which, of course, don't end up in the generated Swagger JSON. Is it possible to programmatically add operations via the Java Swagger API such that they end up in the generated JSON along with the annotated resources?
I tried using DefaultJaxrsApiReader.appendOperation but it had no effect.
I'm using com.wordnik:swagger-jaxrs_2.10:1.3.12
EDIT
I ended up just writing a Servlet filter to update the Swagger JSON response. It would be great to get #fehguy's suggestions working somehow. I think that swagger-jaxrs_2.10:1.3.12 isn't new enough to support those POJOs.
as of swagger-core-1.5.1-M1, you can build a swagger POJO which simply needs to be returned by your web application. That means, you can programmatically create the Swagger object and serve it up as JSON from your web service.
For examples of how to build a swagger pojo you can look at the source or an example (test) of building one.
You can also mutate the generated swagger object in your application. That means you can dynamically generate / modify swagger at runtime. There is an example in the swagger-codegen project, where the online code generator (swagger-generator) will detect what languages are enabled in the code generation logic via SPI, and update the swagger spec accordingly with the options:
https://github.com/swagger-api/swagger-codegen/blob/master/modules/swagger-generator/src/main/java/com/wordnik/swagger/generator/DynamicSwaggerConfig.java

Resources