Does swagger depend on jax-rs or spring mvc? - java

I want to create a swagger json file from class with swagger annotations. It is so happened that I don't use spring mvc or jax-rs. Can swagger file be generated just having swagger maven plugin and swagger-annotations dependency?
I created a class with swagger annotations. Tried to generate a swagger json file, all I saw was - the info about the api, which I mentioned in the swagger-maven-plugin.
Once I added #Path of jax-rs to my api class - everything generated successfully, all methods, all responses

Looks like it is if you using swagger-maven-plugin.
Supports SpringMvc & JAX-RS

Related

Integrate OpenAPI 3.0 schema for spring boot json response test

I write OPENAPI 3.0 yaml file as the documentation for java REST api project. It can be nicely rendered with ReDoc. And in order to help other developers and our customers to use the API I should always keep the java response java the same with the OPENAPI yaml schema definition.
So...it there some tools to help use the OPENAPI yaml schema validate JAVA Response?
I have seen some tools like rest-assured can use json-schema for response validation. But it seems that the OPENAPI schema is a little bit different from the json validation. I can not use it directly.
I solved this problem by using https://github.com/mikunn/openapi2schema. This package help translate openapi definitions into valid json schema draft 4 version. And I can then use rest-assured to validate the json response with this json schema file.

#ApiModelProperty to swagger HTML report

I am creating microservice with java class using #ApiModelProperty annotation for swagger documentation.
Is it possible to generate HTML swagger documentation from this file using some IntelliJ plugin without deploying my microservice?

JHipster import-jdl not generating swagger

Is it possible to generate the swagger api.yaml from JDL?
I've created and app with swagger addon and then imported entities from jdl but the swagger api.yaml is empty
That specific api.yml is intended for JHipster's API First Development feature.
JHipster comes configured with Springfox, which automatically generates the Swagger docs based on the project's code. You can access the app's Swagger config after starting the app at http://localhost:8080/v2/api-docs. It is in JSON format by default, if you need YAML you can upload it to the Swagger Editor
You can also view the docs in a built-in SwaggerUI at http://127.0.0.1:8080/#/docs, normally located under the Administration navbar menu.

Enunciate with SpringMVC Annotation-based configuration

I am trying to use Enunciate to generate static documentation for my REST API that is written in Java using Spring MVC 3.2. The Enunciate website claims that it has Spring support by using a specific plugin here :
http://enunciate.codehaus.org/module_spring_app.html
When looking at the configuration options, it looks like I am supposed to import a spring applicationContext.xml. I use the annotation-based configuration for this project, so I don't have an applicationContext.xml. Is there a way to make this work in my case?
Thanks in advance for any help.
Enunciate currently supports Spring Web annotations.

Spring 3 JSON with MVC

Is there a way to build Spring Web calls that consume and produce application/json formatted requests and responses respectively?
Maybe this isn't Spring MVC, I'm not sure. I'm looking for Spring libraries that behave in a similar fashion to Jersey/JSON. The best case would be if there was an annotation that I could add to the Controller classes that would turn them into JSON service calls.
A tutorial showing how to build Spring Web Services with JSON would be great.
EDIT: I'm looking for an annotation based approach (similar to Jersey).
EDIT2: Like Jersey, I am looking for REST support (POST,GET,DELETE,PUT).
EDIT3: Most preferably, this will be the pom.xml entries and some information on using the spring-js with jackson Spring native version of things.
In case other ppl get here later:
http://blog.springsource.com/2010/01/25/ajax-simplifications-in-spring-3-0/
was the most useful link for me. That finally made me understand the model (after less than a day of searching).
You can certainly have controllers that return a View which is in JSON output. Take a look at the Spring-JSON project.
To consume requests in JSON I would assume you would just want a controller to pass a request parameter off to a JSON library which could parse the data?
There is no pre-packaged way to do what you want as Jersey is nicely integrated with Spring via the Jersey-Spring API so there's really no reason to re-invent the wheel.
Check this one out
Adding support for JSON and XML views
Source code for Spring Finance Manager
Since spring-mvc 3.0 official support for Ajax remoting with JSON is provided as part of Spring MVC. This includes support for generating JSON responses and binding JSON requests using the Spring MVC #Controller programming model.
see here
This feature is now part of Spring since version 3.0. You can simply use the #ResponseBody annotation to specify that you want the return value from your request handler methods to be serialized to JSON and sent as the response body. See http://blog.springsource.com/2010/01/25/ajax-simplifications-in-spring-3-0/
It seems that DWR framework looks very close to what you want to get.
You can configure Spring MVC interceptors through handler mappings and then use the mappings to transform the returning data to JSON. The handler configuration can be done in xml (no need to recompile), and this can be completely transparent to the rest of the application.
It's fairly easy to annotate controllers with some annotation, and then hook up the BeanFactory bootstrap process to register the controllers within some handler mapping process.
I have used this approach to transform the result from spring controllers into GWT RPC calls.
You can also use Spring AOP to intercept controller method calls and unwrap/wrap the requests from/to JSON.

Categories