SpringBoot集成Swagger
来源:互联网 发布:算法分析专业 编辑:程序博客网 时间:2024/06/05 03:03
一、swagger简述
Swagger 是一个帮助完善项目文档规范的框架。我们在类上使用提供的注解写注释,swagger可以根据我们写的注释内容生成相应的web页面,展示我们项目中的api文档。同时我们可以直接在页面上直接调用相应的接口。
二、依赖
compile("io.springfox:springfox-swagger2:2.7.0") //核心包,提供了注解compile("io.springfox:springfox-swagger-ui:2.7.0")//提供自身所需的UI
三、创建配置类
@Configuration //定义配置类@EnableSwagger2 //启用swagger2.0public class AntSwaggerConfig { /** * @desc select()函数用来选择哪些接口需要swagger来展现,这里通过.apis()和.paths()选择"com.maxrocky.ant"包的所有路径下的接口 * @return docket */ @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.maxrocky.ant")) .paths(PathSelectors.any()) .build(); } /** * @desc 用来创建该Api的基本信息 */ private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("物流抽象系统") .description("物流抽象系统") .version("1.0") .build(); }}
四、具体使用
添加文档内容
@Api(value = "物流") //说明该类的作用@RestController@RequestMapping(value = "/Logistics", produces = "application/json")public class LogisticsController { @Autowired BaseLogisticService baseLogisticService; @Autowired AntBaseParameterDO baseParameterDO; @ApiOperation(value="物流详情", notes="",produces = "application/json")//说明该方法的作用 @ApiImplicitParams(value = { @ApiImplicitParam(name = "logisticId", value = "物流标识ID", required = true, paramType = "path", dataType = "String") }) //@ApiImplicitParams、@ApiImplicitParam注解来给参数增加说明。 @RequestMapping(value = "/GetLogisticDetail/{logisticId}",method = RequestMethod.GET) public SyncJsonResult getLogisticDetail(@PathVariable String logisticId){ return ForeignSuccessResult.success("0", logisticService.getLogisticRoute(logisticId)); } //post请求方式的参数描述在下方 @ApiOperation(value="创建物流", notes="",produces = "application/json") //说明该方法的作用 @RequestMapping(value = "/Create",method = RequestMethod.POST) public ForeignResult create(@RequestBody RequestDO<BaseLogisticRequestDO> requestDO){ BaseLogisticResponseDO baseLogisticResponseDO = new BaseLogisticResponseDO(baseLogisticService.create(requestDO.getBody())); return ForeignSuccessResult.success( baseParameterDO.getSign(baseLogisticResponseDO),baseLogisticResponseDO); }}
由于post请求的参数是由对象来接受的,因此参数的描述在对象里增加
@Data@ApiModel(value = "创建物流请求载体")//对象描述public class BaseLogisticRequestDO extends BaseDO {/*@ApiModelProperty--属性的描述,value:属性的描述,required:是否必传,position:传入顺序,默认为0,值越小越靠前,example:示例值*///这里只列举了几个,其他的大家可参考官方文档@ApiModelProperty(value = "订单ID",required = true,position = 1,example = "1089909")@NotBlank(message = "BL_SP10002")private String orderId;@NotBlank(message = "BL_SP10004")@ApiModelProperty(value = "收货人姓名",required = true,position = 2,example = "张三")private String reciverName;@NotBlank(message = "BL_SP10005")@ApiModelProperty(value = "收货人手机",required = true,position = 3,example = "18701245040")private String reciverPhone;@NotBlank(message = "BL_SP10006")@ApiModelProperty(value = "收货地址",required = true,position = 4,example = "佛山市碧桂园")private String reciverAddress;@NotBlank(message = "BL_SP10007")@ApiModelProperty(value = "发货人姓名",required = true,position = 5,example = "碧桂园凤凰优选")private String shipperName;@NotBlank(message = "BL_SP10008")@ApiModelProperty(value = "发货人手机",required = true,position = 6,example = "18701245041")private String shipperPhone;//...}
四、访问地址
http://ip:端口/swagger-ui.html
阅读全文
0 0
- SpringBoot集成Swagger
- springboot中集成swagger
- SpringBoot 集成Swagger
- SpringBoot集成Swagger
- SpringBoot集成Swagger
- springboot 集成 Swagger ui
- SpringBoot集成Swagger
- SpringBoot集成swagger
- SpringBoot集成swagger以及swagger的运用
- springboot集成swagger的应用
- springboot笔记(1)springboot-swagger集成管理
- Swagger2 (2)由浅入深 集成springboot + springfox-swagger
- Swagger集成Springboot生成Restful api
- SpringBoot学习笔记之集成swagger
- springboot 集成 swagger生成在线文档
- springboot + swagger
- springboot + swagger
- springboot swagger
- Linux的一些网络安全相关设置
- 谈谈小白react入门心理历程
- 在Visual Studio中使用GitHub(使用篇)
- vue.js为什么不能new两次?不是不能new两次,而是第一次new之后,{{}}已经没有了, 第二次vue的时候,识别不到{{}}了,所以第二次的参数没办法替换了,给人的感觉好像是第二次new不起
- MySQL 常用命令
- SpringBoot集成Swagger
- 用栈模拟递归解不等式
- BZOJ 1072 排列perm (状压dp)
- bzoj3441(线段树的奇怪题)
- UIImage+GIF.swift SDWebImage中处理GIF的分类的swift版实现
- MYSQL ErrorCode:24 too many opened files
- python ConnectionError 或 curl Could not resolve host
- CentOS 6.x安装配置GitLab(社区或个人Git管理)
- 解决ssmdemo项目飘红