springboot swagger 整合
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。 文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。
作用:
1. 接口的文档在线自动生成。
2. 功能测试。
1.添加pom.xml
- <dependency>
- <groupId>io.springfox</groupId>
- <artifactId>springfox-swagger-ui</artifactId>
- <version>2.7.0</version>
- </dependency>
- <dependency>
- <groupId>io.springfox</groupId>
- <artifactId>springfox-swagger2</artifactId>
- <version>2.7.0</version>
- </dependency>
2.在启动类同级增加类
- package com;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import springfox.documentation.builders.ApiInfoBuilder;
- import springfox.documentation.builders.PathSelectors;
- import springfox.documentation.builders.RequestHandlerSelectors;
- import springfox.documentation.service.ApiInfo;
- import springfox.documentation.service.Contact;
- import springfox.documentation.spi.DocumentationType;
- import springfox.documentation.spring.web.plugins.Docket;
- import springfox.documentation.swagger2.annotations.EnableSwagger2;
- @Configuration
- @EnableSwagger2
- public class Swagger2 {
- //swagger2的配置文件,这里可以配置swagger2的一些基本的内容,比如扫描的包等等
- @Bean
- public Docket createRestApi() {
- return new Docket(DocumentationType.SWAGGER_2)
- .apiInfo(apiInfo())
- .select()
- //为当前包路径
- .apis(RequestHandlerSelectors.basePackage("com.taiji.demo.controller"))
- .paths(PathSelectors.any())
- .build();
- }
- //构建 api文档的详细信息函数,注意这里的注解引用的是哪个
- private ApiInfo apiInfo() {
- return new ApiInfoBuilder()
- //页面标题
- .title("系统API接口")
- //创建人
- .contact(new Contact("zhangyg", "www.redxun.com", "zhangyg@redxun.cn"))
- //版本号
- .version("1.0")
- //描述
- .description("系统API接口")
- .build();
- }
- }
3.编辑java 文件
- package com.taiji.demo.controller;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RestController;
- import com.alibaba.fastjson.JSONObject;
- import com.taiji.core.util.IdUtil;
- import com.taiji.demo.model.SaleOrder;
- import com.taiji.demo.service.SaleOrderService;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiImplicitParam;
- import io.swagger.annotations.ApiImplicitParams;
- import io.swagger.annotations.ApiOperation;
- import io.swagger.annotations.ApiParam;
- import io.swagger.annotations.ApiResponse;
- import io.swagger.annotations.ApiResponses;
- @RestController
- @Api(value="销售订单API接口")
- public class SaleOrderController {
- @Autowired
- private SaleOrderService saleOrderService;
- @ApiOperation(value="添加订单",notes="添加订单描述")
- @RequestMapping(value="/add",method={RequestMethod.POST,RequestMethod.GET})
- public void add(@ApiParam(value = "用户数据",
- required = true,
- type="JSONObject",
- example="{\"name\":\"A\",\"userId\":\"B\",\"total\":\"100\"}") @RequestBody JSONObject json){
- SaleOrder order=new SaleOrder();
- order.setId(IdUtil.getId());
- order.setName(json.getString("name"));
- order.setCreator(json.getString("userId"));
- order.setTotal(json.getDouble("total"));
- saleOrderService.create(order);
- }
- @ApiOperation(value="根据ID查看明细",notes="根据ID查看明细")
- @ApiImplicitParams(value={
- @ApiImplicitParam(name="id",value="订单ID",required=true,dataType="String")
- })
- @RequestMapping(value="/get/{id}",method=RequestMethod.GET)
- public SaleOrder get(@PathVariable(value="id") String id){
- SaleOrder order= saleOrderService.get(id);
- return order;
- }
- @RequestMapping(value="/page/{page}",method=RequestMethod.GET)
- @ApiResponses({
- @ApiResponse(response=JSONObject.class, code = 200, message = "订单列表")
- })
- public JSONObject page(@PathVariable(value="page") int page){
- JSONObject order= saleOrderService.getAll(page,10);
- return order;
- }
- }
4.访问平台列表
http://localhost:8000/demo/swagger-ui.html#/sale45order45controller
5.在线调试接口
输入好参数后,点击try it out 按钮,可以对代码进行调试。
springboot swagger 整合的更多相关文章
- SpringBoot+Swagger整合API
SpringBoot+Swagger整合API Swagger:整合规范的api,有界面的操作,测试 1.在pom.xml加入swagger依赖 <!--整合Swagger2配置类--> ...
- SpringBoot+Swagger整合
0.引言及注意事项 Swagger是一个接口文档工具,依照Swagger可以0配置开发接口.不过要注意,Swagger是基于SpringBoot1.47版本开发的,而SpringBoot现在基本都是是 ...
- SpringBoot+Swagger2 整合
SpringBoot+Swagger2四步整合 第一步:添加相关依赖 <parent> <groupId>org.springframework.boot</groupI ...
- springboot+jpa+mysql+swagger整合
Springboot+jpa+MySQL+swagger整合 创建一个springboot web项目 <dependencies> <dependency> < ...
- SpringBoot与Swagger整合
1 SpringBoot与Swagger整合https://blog.csdn.net/jamieblue1/article/details/99847744 2 Swagger详解(SpringBo ...
- springboot+swagger接口文档企业实践(上)
目录 1.引言 2.swagger简介 2.1 swagger 介绍 2.2 springfox.swagger与springboot 3. 使用springboot+swagger构建接口文档 3. ...
- SpringBoot 同时整合thymeleaf html、vue html和jsp
问题描述 SpringBoot如何同时访问html和jsp SpringBoot访问html页面可以,访问jsp页面报错 SpringBoot如何同时整合thymeleaf html.vue html ...
- SpringBoot+AOP整合
SpringBoot+AOP整合 https://blog.csdn.net/lmb55/article/details/82470388 https://www.cnblogs.com/onlyma ...
- SpringBoot+Redis整合
SpringBoot+Redis整合 1.在pom.xml添加Redis依赖 <!--整合Redis--> <dependency> <groupId>org.sp ...
随机推荐
- [SQL]T-Sql 递归查询(给定节点查所有父节点、所有子节点的方法)
T-Sql 递归查询(给定节点查所有父节点.所有子节点的方法) -- 查找所有父节点with tab as( select Type_Id,ParentId,Type_Name from Sys_ ...
- go api json 输出尝试
package main import ( "fmt" "net/http" //"net/url" "github.com/dr ...
- oracle 序列sequence
查询所有的序列: select 'create sequence '||sequence_name|| ' minvalue '||min_value|| ' maxvalue '||max_valu ...
- junit 基础使用
junit百度百科: JUnit是一个Java语言的单元测试框架.它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个. JU ...
- scrollview嵌套recyclerview显示不全现象
只需在recyclerview的外层加入一个父布局就好了 <RelativeLayout android:layout_width="match_parent" androi ...
- orcal - 单行函数
虚拟表:dual 转大写 select UPPER('hellow') from dual; 转小写 select lower(ename) from emp; cmd 输入数据 select * f ...
- Docker 安装 oracle 并使用 navicat 实现外部连接
1,拉取 docker 镜像:docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g 1.1 , 该镜像由阿里云提供,比较大, ...
- 深度学习原理与框架-Tensorflow卷积神经网络-cifar10图片分类(代码) 1.tf.nn.lrn(局部响应归一化操作) 2.random.sample(在列表中随机选值) 3.tf.one_hot(对标签进行one_hot编码)
1.tf.nn.lrn(pool_h1, 4, bias=1.0, alpha=0.001/9.0, beta=0.75) # 局部响应归一化,使用相同位置的前后的filter进行响应归一化操作 参数 ...
- JavaScript: RegExp check UserName
Function : We can use regular expressions to check user input data formats. Homework: Check user inp ...
- 一个free异常引发的异常
有同事反馈说自己的线程不工作,查看堆栈发现其打印如下: # # # # # # # # , info= # <signal handler called> # # # # # # # , ...