Swagger 是1个标准且完备的框架,用于死成、描写、挪用战可瞅化 RESTful 气概的 Web 效劳。
Swagger 的方针是对于 REST API 界说1个规范且战谈话有关的交心,能够让人战计划机具有不必拜候源码、文档或者收集淌量监测便能够创造战明确效劳的本领。当经由过程 Swagger 停止精确界说,用户能够通晓近程效劳并应用起码竣工逻辑取近程效劳停止接互。取为底层编程所完毕的交心近似,Swagger 消弭了挪用效劳时大概会有的料到。
Swagger 的上风
赞成 API 主动死成共步的正在线文档:应用 Swagger 后能够曲交经由过程代码死成文档,没有再须要本身脚动编写交心文档了,对于步伐员来讲十分轻易,能够勤俭写文档的功夫来进修新技能。
供给 Web 页里正在线尝试 API:光有文档借不敷,Swagger 死成的文档借支撑正在线尝试。参数战花样皆定美了,曲交正在界里上输出参数对于应的值便可正在线尝试交心。
Swagger应用的讲明及其解释:
@Api:用正在类上,注释该类的感化。@ApiOperation:注释去给API增多办法阐述。@ApiImplicitParams:用正在办法上包括1组参数表明。@ApiImplicitParam:用去证明去给办法进参添加阐述。参数:·paramType:指定参数搁正在哪一个中央··header:苦求参数安置于RequestHeader,应用@RequestHeader获得··query:苦求参数搁置于乞求天址,应用@RequestParam获得··path:(用于restful交心),恳求参数的获得:@PathVariable··body:(没有经常使用)··form(没有经常使用)·name:参数实·dataType:参数榜样·required:参数能否必需传(true|false)·value:讲明参数的趣味·defaultValue:参数的默许值@ApiResponses:用于示意1组呼应@ApiResponse:用正在@ApiResponses中,普通用于表白1个故障的呼应疑息——code:数字,比方400——message:疑息,比方"乞请参数同常!"——response:扔出同常的类@ApiModel:描写1个Model的疑息(普通用正在申请参数没法应用@ApiImplicitParam解说停止描写的时分)@ApiModelProperty:描写1个model的属性SpringBoot中Maven引进:
<!--Swagger--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version></dependency>修正Controller添加诠释:
importorg.springframework.stereotype.Controller;importorg.springframework.ui.Model;importorg.springframework.web.bind.annotation.PostMapping;importorg.springframework.web.bind.annotation.RequestParam;importorg.springframework.web.bind.annotation.ResponseBody;importio.swagger.annotations.Api;importio.swagger.annotations.ApiImplicitParam;importio.swagger.annotations.ApiImplicitParams;importio.swagger.annotations.ApiOperation;@Api(value="用户办理类")@ControllerpublicclassSwController{@ApiOperation(value="修正用户暗号",notes="凭据用户id修正暗号")@ApiImplicitParams({@ApiImplicitParam(paramType="query",name="userId",value="用户ID",required=true,dataType="String"),@ApiImplicitParam(paramType="query",name="password",value="陈暗号",required=true,dataType="String"),@ApiImplicitParam(paramType="query",name="newPassword",value="新暗号",required=true,dataType="String")})@PostMapping("/hellosw")@ResponseBodypublicStringhello(Modelmodel,@RequestParam("userId")StringuserId,@RequestParam("password")Stringpassword,@RequestParam("newPassword")StringnewPassword){returnuserId+"-"+password+"-"+newPassword;}}设置类,用于指定扫描那些交心
importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importspringfox.documentation.builders.ApiInfoBuilder;importspringfox.documentation.builders.PathSelectors;importspringfox.documentation.builders.RequestHandlerSelectors;importspringfox.documentation.service.ApiInfo;importspringfox.documentation.spi.DocumentationType;importspringfox.documentation.spring.web.plugins.Docket;importspringfox.documentation.swagger2.annotations.EnableSwagger2;@Configuration@EnableSwagger2publicclassSwagger2Conf{@BeanpublicDocketgetUserDocket(){ApiInfoapiInfo=newApiInfoBuilder().title("用户办理")//api题目.description("用户办理相干交心描写")//api描写.version("1.0.0")//版原号.build();returnnewDocket(DocumentationType.SWAGGER_2)//文档典型(swagger2).apiInfo(apiInfo)//设备包括正在jsonResourceListing呼应中的api元疑息.select()//开动用于api取舍的建立器.apis(RequestHandlerSelectors.basePackage("com.example.demo.swagger"))//扫描交心的包.paths(PathSelectors.any())//途径过滤器(扫描全部途径).build();}}开动后拜候:
http://localhost:8080/swagger-ui.html
尔们以至能够曲交正在线便止尝试
END
推举您浏览更多相关于“ springboot正在线文档微效劳swaggerswagger2 ”的作品