現(xiàn)如今,前后端分離已經(jīng)逐漸成為互聯(lián)網(wǎng)項(xiàng)目一種標(biāo)準(zhǔn)的開發(fā)方式,前端與后端交給不同的人員開發(fā),但是項(xiàng)目開發(fā)中的溝通成本也隨之升高,這部分溝通成本主要在于前端開發(fā)人員與后端開發(fā)人員對(duì)WebAPI接口的溝通,Swagger2 就可以很好地解決,它可以動(dòng)態(tài)生成Api接口文檔,降低溝通成本,促進(jìn)項(xiàng)目高效開發(fā)。
<dependency>
<groupId>io.springfoxgroupId>
<artifactId>springfox-swagger2artifactId>
<version>2.4.0version>
dependency>
<dependency>
<groupId>io.springfoxgroupId>
<artifactId>springfox-swagger-uiartifactId>
<version>2.4.0version>
dependency>
@Configuration
@EnableSwagger2
public class Swagger2Config implements WebMvcConfigurer {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
.apis(RequestHandlerSelectors.basePackage("task.web")).paths(PathSelectors.any()).build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("Simple APIs").description("simple apis")
.termsOfServiceUrl("http://www.***").contact(new Contact("d***", "http://***", "***@shsnc.com"))
.version("1.0").build();
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
@Controller
@RequestMapping("/test")
@Api(tags = "用戶接口")
public class TestController {
@GetMapping("/login")
@ApiImplicitParams({@ApiImplicitParam(name = "username", value = "用戶名", paramType = "query"),
@ApiImplicitParam(name = "password", value = "密碼", paramType = "query")})
@ResponseBody
@ApiOperation(value = "用戶登陸接口")
public String login(@RequestParam("username") String username, @RequestParam("password") String password) {
if ("shsnc".equals(username) && "123456".equals(password)) {
return "登陸成功";
} else {
return "登陸失敗,用戶名不存在或者密碼錯(cuò)誤";
}
}
}
啟動(dòng)我們的web工程,訪問地址http://ip:port/contextName/swagger-ui.html,就可以看到文檔頁面了。
可直接支持在線調(diào)試接口
將springfox-swagger-ui.jar包中swagger-ui.html拷貝到新建META-INF.resources里。
重啟項(xiàng)目,清空緩存,刷新頁面。
我們只要放開swagger的靜態(tài)資源即可。
更多精彩干貨分享
點(diǎn)擊下方名片關(guān)注
IT那活兒
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/129890.html
摘要:前后端分離后,維護(hù)接口文檔基本上是必不可少的工作。一個(gè)理想的狀態(tài)是設(shè)計(jì)好后,接口文檔發(fā)給前端和后端,大伙按照既定的規(guī)則各自開發(fā),開發(fā)好了對(duì)接上了就可以上線了。本文主要和大伙來聊下在中如何整合。如此,就算配置成功了,非常方便。 前后端分離后,維護(hù)接口文檔基本上是必不可少的工作。一個(gè)理想的狀態(tài)是設(shè)計(jì)好后,接口文檔發(fā)給前端和后端,大伙按照既定的規(guī)則各自開發(fā),開發(fā)好了對(duì)接上了就可以上線了。當(dāng)然...
摘要:開公眾號(hào)差不多兩年了,有不少原創(chuàng)教程,當(dāng)原創(chuàng)越來越多時(shí),大家搜索起來就很不方便,因此做了一個(gè)索引幫助大家快速找到需要的文章系列處理登錄請(qǐng)求前后端分離一使用完美處理權(quán)限問題前后端分離二使用完美處理權(quán)限問題前后端分離三中密碼加鹽與中異常統(tǒng)一處理 開公眾號(hào)差不多兩年了,有不少原創(chuàng)教程,當(dāng)原創(chuàng)越來越多時(shí),大家搜索起來就很不方便,因此做了一個(gè)索引幫助大家快速找到需要的文章! Spring Boo...
摘要:相關(guān)配置配置參數(shù)參數(shù)介紹默認(rèn)值是否啟用文檔標(biāo)題快速集成文檔文檔描述通過自動(dòng)化配置快速集成文檔,僅需一個(gè)注解一個(gè)依賴即可。注意通過所獲取的類型都為。 ApiBoot是一款基于SpringBoot1.x,2.x的接口服務(wù)集成基礎(chǔ)框架, 內(nèi)部提供了框架的封裝集成、使用擴(kuò)展、自動(dòng)化完成配置,讓接口開發(fā)者可以選著性完成開箱即用, 不再為搭建接口框架而犯愁,從而極大...
摘要:沒錯(cuò),不支持,從導(dǎo)出的文檔也可以看到,部分中文無法顯示,目前我也尚未找到是否有配置可以實(shí)現(xiàn)這個(gè)功能。相對(duì)前面的方式,使用起來更加簡(jiǎn)單,也可以修改配置輸出中文。 更多精彩博文,歡迎訪問我的個(gè)人博客 說明 我個(gè)人是一直使用Swagger作為接口文檔的說明的。但是由于在一些情況下,接口文檔說明需要以文件的形式交付出去,如果再重新寫一份文檔難免有些麻煩。于是在網(wǎng)上看到了Swagger2Mar...
摘要:下一代服務(wù)端開發(fā)下一代服務(wù)端開發(fā)第部門快速開始第章快速開始環(huán)境準(zhǔn)備,,快速上手實(shí)現(xiàn)一個(gè)第章企業(yè)級(jí)服務(wù)開發(fā)從到語言的缺點(diǎn)發(fā)展歷程的缺點(diǎn)為什么是產(chǎn)生的背景解決了哪些問題為什么是的發(fā)展歷程容器的配置地獄是什么從到下一代企業(yè)級(jí)服務(wù)開發(fā)在移動(dòng)開發(fā)領(lǐng)域 《 Kotlin + Spring Boot : 下一代 Java 服務(wù)端開發(fā) 》 Kotlin + Spring Boot : 下一代 Java...
閱讀 1356·2023-01-11 13:20
閱讀 1707·2023-01-11 13:20
閱讀 1215·2023-01-11 13:20
閱讀 1906·2023-01-11 13:20
閱讀 4165·2023-01-11 13:20
閱讀 2757·2023-01-11 13:20
閱讀 1402·2023-01-11 13:20
閱讀 3671·2023-01-11 13:20