轻量级Web框架应用_第三周(下)

分支

安装了git这么强大的版本控制系统,却不好好利用着实可惜;在开发之前我们先来创建个分支吧!
在开发中,将每次的操作都放在master分支中不是一个明智的选择,master分支里一般存放的是一个完整的,稳定的版本;

  1. 首先,我们可以使用git checkout -b dev创建一个开发分支,并切换到该分支上
  2. 其次,在开发分支的基础上我们可以使用git checkout -b feature创建一个功能分支,并切换到功能分支上
  3. 完成了这个功能分支上的开发后,使用git commit提交修改
  4. 使用git checkout dev回到我们的开发分支
  5. 使用git merge feature将我们的功能分支合并到开发分支上
  6. 使用git commit提交我们的开发分支

下面这张图也许表达的不是很好,希望能帮助到你们理解

切换到开发分支
切换到功能分支
合并
合并
master
dev
feature
dev*

接下来打开项目,我们在 idea 中操作, 为自己创建一个开发分支(dev)
VCS -> Git -> Branches 或使用快捷键 Ctrl+Shift+ `
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
//这里我已经创建过dev分支了,所以会提示错误
同样的步骤,创建一个功能分支;我个人习惯使用feature_功能名的命名,由于接下来我们要进行swagger的配置,所以分支名称使用feature_swagger
在这里插入图片描述
注意要勾选Checkout branch!!!
这样才能创建feature_swagger功能分支并切换到该分支上。
现在我们可以进入下一步swagger的配置了。

Gradle和Maven

同学问我的时候我才发现,大部分人没接触过这两个东西。这里做个简单的解释
用一个不是非常恰当的比喻来说的话:
我们写代码,相当于制造一辆车,
但是如今的技术如此发达,很多东西已经为我们准备好了。
比如:轮子,发动机,各种各样的小零件,为我们造车的人提供了非常大的遍历,现在我们不需要自己造轮子了,可以把别人造好的轮子直接拿过来用
那轮子去哪拿呢? 这就要提到我们的Maven了,它就相当于一个仓库,里面存放了各种各样别人造好的优秀的轮子。
那每次都要往那个仓库里跑,拿轮子,导入到项目中,未免有些烦人,怎么办?这时候Gradle就启作用了,你给它个仓库地址,告诉它要取什么,取什么版本的轮子,它就能帮你取回来,并自动导入到项目中。

Swagger

Swagger简介

官方文档:https://swagger.io/docs/specification/about/
后端编写的接口,前端在使用时,一定需要一个接口文档,但编写接口文档是一个相对费时的事情;swagger则能够自动的生成接口文档,并提供一个网页给前端测试,大大提高了我们开发的速度。

下载Swagger

首先我们来到maven仓库,搜索swagger2
在这里插入图片描述
选择最新的2.9.2的版本
在这里插入图片描述
选择Gradle版本,复制
在这里插入图片描述
粘贴在build.gradle
接着回到maven仓库中,我们搜索swagger ui
在这里插入图片描述
同样选中最新的版本,选中Gradle,将配置复制到build.gradle

在这里插入图片描述
我们的build.gradle应该多出这两条代码

compile group: 'io.springfox', name: 'springfox-swagger2', version: '2.9.2'
compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.9.2'

在刷新gradle之前,建议将compile替换成implementation 简单来说,可以在一定程度上加快编译速度,具体可以

引用一个我感觉很不错的,别人的解释https://www.jianshu.com/p/f34c179bc9d0

修改起来也很简单,每个关键字中用冒号隔开就好,修改过后如下

implementation 'io.springfox:springfox-swagger2:2.9.2'
implementation 'io.springfox:springfox-swagger-ui:2.9.2'

Ctrl+s保存我们的修改,点击右下角Import Changes, Gradle会为我们自动下载swagger依赖
在这里插入图片描述

配置Swagger

将SwaggerConfig复制到config文件夹中(文件已上传班群)
在这里插入图片描述
在application.properties中添加swagger2.enable=true
在这里插入图片描述

修改login接口

添加swagger注解

//name:参数名,value:参数描述,dataType:数据类型,required:是否为必须值,默认为false
@ApiImplicitParams({
            @ApiImplicitParam(name = "userName", value = "用户名", dataType = "String", required = true),
            @ApiImplicitParam(name = "password", value = "密码", dataType = "String", required = true)
    })

修改login接口为Post
在这里插入图片描述

启动项目

打开浏览器,输入http://localhost:8080/swagger-ui.html
点击user-controller可以看到我们的登录接口文档
点击Try it out试试看输入用户名和密码吧!

在这里插入图片描述

提交

恭喜你,成功的完成了一个feature的开发
接下来我们提交这个分支, 这个分支commit后,可以不用push到码云上(根据自己需求决定)
在这里插入图片描述
提交完成后,回到我们的开发分支(dev)
在这里插入图片描述
把功能分支的代码合并(merge)到开发分支上
在这里插入图片描述
选中我们的功能分支,点击Merge
在这里插入图片描述
提交我们的开发分支(dev)到gitee
在这里插入图片描述
在这里插入图片描述
打开码云,选中我们的开发分支(dev), 可以看到我们已成功推送啦~
在这里插入图片描述

Bug记录

  • 我自己的一个Bug(已解决)
    没有截图,报错的内容是

    Could not resolve placeholder 'swagger2.enable' in value "${swagger2.enable}
    

    SwaggerConfig中设置了

    @Value("${swagger2.enable}")
    

    application.properties中也配置了

    swagger2.enable=true
    

    各种操作解决不了,无奈,从gitee上把先前的版本克隆下来,重新配置了下,一遍解决
    有可能是Idea的Bug,没有识别到我的application.properties文件
    还有可能是魔法,有机会叫个道士之类的人来做个法,驱驱邪

  • 同学的Bug,网络环境问题,可能是防火墙没设置好,导致spring依赖下载不下来
    加上Gradle配置环境错误,使用最新版本解决(已解决)
    在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章