Add swagger docs for gizmo APIs
[aai/gizmo.git] / src / main / java / org / onap / crud / config / JerseyConfig.java
1 /**
2  * ============LICENSE_START=======================================================
3  * org.onap.aai
4  * ================================================================================
5  * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
6  * Copyright © 2017-2018 Amdocs
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *       http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21 package org.onap.crud.config;
22
23 import javax.annotation.PostConstruct;
24 import javax.ws.rs.ApplicationPath;
25
26 import org.glassfish.jersey.server.ResourceConfig;
27 import org.onap.crud.service.CrudRestService;
28 import org.onap.crud.service.JaxrsEchoService;
29 import org.springframework.stereotype.Component;
30
31 import io.swagger.jaxrs.config.BeanConfig;
32 import io.swagger.jaxrs.listing.ApiListingResource;
33 import io.swagger.jaxrs.listing.SwaggerSerializers;
34
35 /**
36  * Registers Crud Rest interface as JAX-RS endpoints.
37  */
38
39 @ApplicationPath("/services")
40 @Component
41 public class JerseyConfig extends ResourceConfig {
42
43     public JerseyConfig(CrudRestService crudRestService, JaxrsEchoService jaxrsEchoService) {
44         register(crudRestService);
45         register(jaxrsEchoService);
46     }
47     
48     @PostConstruct
49     public void init() {
50       // Register components where DI is needed
51       this.SwaggerConfig();
52     }
53   private void SwaggerConfig() {
54       this.register(ApiListingResource.class);
55       this.register(SwaggerSerializers.class);
56
57       BeanConfig swaggerConfigBean = new BeanConfig();
58       swaggerConfigBean.setConfigId("Gizmo");
59       swaggerConfigBean.setTitle("Gizmo Rest API ");
60       swaggerConfigBean.setVersion("v1");
61       swaggerConfigBean.setContact("Amdocs Inc.");
62       swaggerConfigBean.setSchemes(new String[] { "https" });
63       swaggerConfigBean.setBasePath("/services");
64       swaggerConfigBean.setResourcePackage("org.onap.crud");
65       swaggerConfigBean.setPrettyPrint(true);
66       swaggerConfigBean.setScan(true);
67     }
68
69 }