Commit 7c2739fc by Juho Juopperi

fix swagger

1 parent 373f73af
......@@ -138,14 +138,36 @@
</dependency>
<dependency>
<groupId>com.wordnik</groupId>
<artifactId>swagger-jaxrs_2.11</artifactId>
<artifactId>swagger-jersey2-jaxrs_2.11</artifactId>
<version>${swagger.version}</version>
<exclusions>
<exclusion>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-multipart</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.wordnik</groupId>
<artifactId>swagger-servlet_2.11</artifactId>
<version>${swagger.version}</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.17</version>
<scope>provided</scope>
</dependency>
</dependencies>
<parent>
......
......@@ -18,23 +18,52 @@
*/
package fi.codecrew.moya.rest;
import com.wordnik.swagger.config.ScannerFactory;
import com.wordnik.swagger.jaxrs.config.BeanConfig;
import com.wordnik.swagger.jaxrs.config.ReflectiveJaxrsScanner;
import com.wordnik.swagger.jaxrs.reader.DefaultJaxrsApiReader;
import com.wordnik.swagger.jersey.JerseyApiReader;
import com.wordnik.swagger.jersey.listing.ApiListingResourceJSON;
import com.wordnik.swagger.jersey.listing.JerseyApiDeclarationProvider;
import com.wordnik.swagger.jersey.listing.JerseyResourceListingProvider;
import com.wordnik.swagger.reader.ClassReaders;
import org.glassfish.jersey.media.multipart.MultiPartFeature;
import org.glassfish.jersey.server.ResourceConfig;
import javax.servlet.annotation.MultipartConfig;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
import java.util.HashSet;
import java.util.Set;
@ApplicationPath(RestApplicationEntrypoint.REST_PATH)
public class RestApplicationEntrypoint extends ResourceConfig {
public static final String REST_PATH = "/rest";
private static final String BASE_URL = "/MoyaWeb";
private static final String API_RESOURCE_PACKAGE = "fi.codecrew.moya.rest";
public RestApplicationEntrypoint() {
packages("fi.codecrew.moya.rest");
// swagger
BeanConfig beanConfig = new BeanConfig();
beanConfig.setVersion("1.0.0");
beanConfig.setBasePath(BASE_URL + REST_PATH);
beanConfig.setResourcePackage(API_RESOURCE_PACKAGE);
beanConfig.setScan(true);
register(beanConfig);
//ReflectiveJaxrsScanner scanner = new ReflectiveJaxrsScanner();
//scanner.setResourcePackage(API_RESOURCE_PACKAGE);
//ScannerFactory.setScanner(scanner);
//ClassReaders.setReader(new JerseyApiReader());
//ClassReaders.setReader(new DefaultJaxrsApiReader());
register(ApiListingResourceJSON.class);
register(JerseyApiDeclarationProvider.class);
register(JerseyResourceListingProvider.class);
// mime multipart image uploads
register(MultiPartFeature.class);
// packages to scan
packages("com.wordnik.swagger.jaxrs.json", "fi.codecrew.moya.rest");
}
}
package fi.codecrew.moya.rest.v2.pojo;
import com.wordnik.swagger.annotations.ApiModel;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.Date;
/**
* Created by jkj on 2015-05-31.
*/
@XmlRootElement
@XmlRootElement()
@ApiModel(description = "User")
public class UserPojo {
public enum UserGender {
......
package fi.codecrew.moya.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.wordnik.swagger.config.ConfigFactory;
import com.wordnik.swagger.config.ScannerFactory;
import com.wordnik.swagger.config.SwaggerConfig;
import com.wordnik.swagger.jaxrs.config.ReflectiveJaxrsScanner;
import com.wordnik.swagger.jaxrs.reader.DefaultJaxrsApiReader;
import com.wordnik.swagger.reader.ClassReaders;
import fi.codecrew.moya.rest.RestApplicationEntrypoint;
@WebServlet(name = "SwaggerJaxrsConfig", loadOnStartup = 1, description = "Configure Swaggered API documentation")
public class SwaggerJaxrsConfig extends HttpServlet {
private static final long serialVersionUID = 35868122371671912L;
private static final Logger log = LoggerFactory.getLogger(SwaggerJaxrsConfig.class);
private static final String BASE_URL = "/MoyaWeb";
private static final String API_RESOURCE_PACKAGE = "fi.codecrew.moya.rest";
@Override
public void init() throws ServletException {
log.info("Initializing Swagger configuration servlet");
try {
// Configure basic API settings shown in API doc JSON.
SwaggerConfig swaggerConfig = new SwaggerConfig();
swaggerConfig.setBasePath(BASE_URL + RestApplicationEntrypoint.REST_PATH);
swaggerConfig.setApiVersion("1.0.0");
ConfigFactory.setConfig(swaggerConfig);
// Configure scanning for API annotations in desired packaget
// ServletScanner scanner = new ServletScanner();
// scanner.setResourcePackage(API_RESOURCE_PACKAGE);
// DefaultJaxrsScanner scanner = new DefaultJaxrsScanner();
ReflectiveJaxrsScanner scanner = new ReflectiveJaxrsScanner();
scanner.setResourcePackage(API_RESOURCE_PACKAGE);
ScannerFactory.setScanner(scanner);
// Reads annotations from the scanned classes.
ClassReaders.setReader(new DefaultJaxrsApiReader());
log.info("Initializing Swagger configuration succeeded.");
} catch (Exception e) {
log.error("Initializing Swagger configuration failed", e);
}
}
@Override
public void destroy() {
log.info("Destroying Swagger configuration servlet");
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!