Pada Postingan ini, saya ingin berbagi pengalaman build swagger di spring 3. Swagger merupakan view yang cantik dan rapi untuk diberikan untuk developer yang ingin memanfaatkan Applikasi kita. Karena setelah mencoba muter-muter searching google tidak ada yang simple dan tidak sesuai dengan applikasi saya. Maka saya akan membagikan pada anda dan sekaligus catatan untuk saya. Akan tetapi contoh yang saya berikan menggunakan cara dengan metode java config bukan by xml. Berikut postinganya semoga bermanfaat.
1. Edit pom.xml. Make sure depedency ini ada
org.springframework
spring-core
3.2.2.RELEASE
commons-logging
commons-logging
org.springframework
spring-web
3.2.2.RELEASE
org.springframework
spring-webmvc
3.2.2.RELEASE
com.mangofactory
swagger-springmvc
0.8.8
jar
2. Edit pada dispatcher servletnya. Kalo ditempat saya namanya mvc-dispatcher-servlet.xml file ini diconfig didalam web.xml. Didalam bean dispatchernya tambahkan
com.package.configuration merupakan kumpulan paket untuk konfigurasi applikasi kita. Selain untuk applikasi REST nya juga untuk konfigurasi pada swagger. Jadi bahasa panjangnya dari konfigurasi diatas. Disaat applikasi ini run dan ada request masuk dan termaping pada dispatcher ini maka akan dilakukan component scan untuk mendeteksi semua notasi untuk konfigurasi applikasi. Component Scan yang akan di scan tersebut berada di dalam package com.package.configuration.
3. Buat file java untuk configurasi di swaggernya. Ditempat saya namanya SwaggerConfig.java
@Configuration
@EnableSwagger
@EnableWebMvc
public class SwaggerConfig {
private SpringSwaggerConfig springSwaggerConfig;
@SuppressWarnings("SpringJavaAutowiringInspection")
@Autowired
public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig) {
this.springSwaggerConfig = springSwaggerConfig;
}
@Bean
public SwaggerSpringMvcPlugin customImplementation(){
return new SwaggerSpringMvcPlugin(this.springSwaggerConfig)
.apiInfo(apiInfo());
}
private ApiInfo apiInfo() {
ApiInfo apiInfo = new ApiInfo(
"Name REST API",
"Description Rest API",
"API TOS",
"username@youremail.com",
"API License",
"Url API License"
);
return apiInfo;
}
}
Apa yang ditulis diatas untuk melakukan configurasi swagger info nya. 4. Konfig untuk Main Applikasinya. Ditempat saya namanya AppConfig.java
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.package.controller")
public class AppConfig extends WebMvcConfigurerAdapter{
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry){
registry.addResourceHandler("/swagger/**").addResourceLocations("/WEB-INF/swagger/");
}
}
Maksud dari code diatas melakukan ComponentScan lanjutan jika di dalam bahasa xml
4. Tahapan yang terakhir di sisi Main REST nya(com.package.controller). Ditempat saya namanya AppController.java
@Controller
@Api(value="test",description = "Api Mail")
@RequestMapping("/test")
public class AppController {
@ApiOperation(value = "Send a Email",notes = "This is to send email")
@RequestMapping(value="/send",method=RequestMethod.GET)
public @ResponseBody ResponseEntitysendEmail(){
//code anda
}
}
Yang perlu dicermati hanyalah @Api untuk mendeskripsikan di link rest group contoh diatas adalah /test . Jadi mungkin nanti ada banyak menjadi /test/send , /test/get. Kemudia adalah @ApiOperation juga untuk mendeskripsikan di sub link nya Jadi cukup itu saja cara mengkonfigurasikan Swagger di Spring 3. Kalo ada pertanyaan silahkan Comment
0 comments:
Posting Komentar