輕量級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配置環境錯誤,使用最新版本解決(已解決)
    在這裏插入圖片描述

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