最近在網(wǎng)易云課堂上看一些視頻瀑晒,給大家推薦一個(gè)講Spring Boot的視頻https://study.163.com/course/courseMain.htm?courseId=1005213034绍坝,老師講的很不錯(cuò)。在學(xué)習(xí)的時(shí)候我也會(huì)做一些筆記苔悦,方便日后鞏固轩褐。
什么是RESTful API?
REST是Representational State Transfer的縮寫(xiě)。它的特點(diǎn)是:
- 所有的東西都是資源玖详,所有操作都通過(guò)對(duì)資源的增刪改查(CRUD)實(shí)現(xiàn)
- 對(duì)資源的增刪改查對(duì)應(yīng)對(duì)URL的操作(POST, DELETE, PUT, GET)
- 無(wú)狀態(tài)的把介,所謂無(wú)狀態(tài)即所有的資源都可以URI定位,而且這個(gè)定位與其他資源無(wú)關(guān)蟋座,也不會(huì)因?yàn)槠渌Y源的變化而變化拗踢。
用一句話(huà)概括就是:URL定位資源,用HTTP動(dòng)詞(GET,POST,PUT,DELETE)描述操作向臀。
- Resource:資源巢墅,即數(shù)據(jù)
- Representational:某種表現(xiàn)形式,比如用JSON券膀,XML君纫,JPEG等
- State Transfer:狀態(tài)變化。通過(guò)HTTP動(dòng)詞實(shí)現(xiàn)芹彬。
所以RESTful API就是REST風(fēng)格的API蓄髓。 那么在什么場(chǎng)景下使用RESTful API呢?在當(dāng)今的互聯(lián)網(wǎng)應(yīng)用的前端展示媒介很豐富雀监。有手機(jī)双吆、有平板電腦還有PC以及其他的展示媒介眨唬。那么這些前端接收到的用戶(hù)請(qǐng)求統(tǒng)一由一個(gè)后臺(tái)來(lái)處理并返回給不同的前端肯定是最科學(xué)和最經(jīng)濟(jì)的方式会前,RESTful API就是一套協(xié)議來(lái)規(guī)范多種形式的前端和同一個(gè)后臺(tái)的交互方式。
RESTful API由后臺(tái)也就是SERVER來(lái)提供前端來(lái)調(diào)用匾竿。前端調(diào)用API向后臺(tái)發(fā)起HTTP請(qǐng)求瓦宜,后臺(tái)響應(yīng)請(qǐng)求將處理結(jié)果反饋給前端。也就是說(shuō)RESTful 是典型的基于HTTP的協(xié)議岭妖。
什么是Spring Boot?
Spring Boot 的目的是提供一組工具临庇,以便快速構(gòu)建容易配置的 Spring 應(yīng)用程序,不用像Spring一樣昵慌,寫(xiě)一個(gè)Hello World都要配置一大堆假夺。Spring Boot是不需要配置XML的,且它自帶了一個(gè)嵌入式的web服務(wù)器斋攀。引用Spring Boot官網(wǎng)的介紹:
“ Spring Boot 使您能輕松地創(chuàng)建獨(dú)立的已卷、生產(chǎn)級(jí)的、基于 Spring 且能直接運(yùn)行的應(yīng)用程序淳蔼。我們對(duì) Spring 平臺(tái)和第三方庫(kù)有自己的看法侧蘸,所以您從一開(kāi)始只會(huì)遇到極少的麻煩裁眯。”
最簡(jiǎn)單的Spring Boot項(xiàng)目
-
-
從IDEA中導(dǎo)入項(xiàng)目讳癌,導(dǎo)入時(shí)選中MAVEN的.pom文件穿稳,后面一路next就好
-
導(dǎo)入后的項(xiàng)目結(jié)構(gòu):
-
在cn.luxiaofen.test包下新建一個(gè)TvseriesController類(lèi)
-
在瀏覽器中測(cè)試,地址是http://localhost:8080/tvseries
一個(gè)簡(jiǎn)單的RESTful API
一般項(xiàng)目不會(huì)像上面所說(shuō)的這么簡(jiǎn)單晌坤,返回的應(yīng)該是一個(gè)對(duì)象不是一個(gè)Map逢艘。
-
在cn.luxiaofen.test新建一個(gè)TvseriesDto類(lèi)
-
修改Controller中的方法:
-
到瀏覽器中去驗(yàn)證
如果希望修改時(shí)間顯示,需要修改JSON的一些參數(shù)
日期型轉(zhuǎn)JSON格式
- 可以在屬性上增加 @JsonFormat(timezone=“GMT+8”, pattern=“yyyy-MM-dd”) 或 @JsonFormat(shape = JsonFormat.Shape.NUMBER)
- 全局修改可以在application.yml
spring jackson: date-format: yyyy-MM-dd #如果使用字符串型表示骤菠,用這行設(shè)置格式 timezone: GMT+8 #改成東八區(qū)的時(shí)間 serialization: write-dates-as-timestamps: true #使用數(shù)值timestamp表示日期
- 兩個(gè)方法可以一起使用埋虹,注解形式會(huì)優(yōu)先
在配置文件中修改JSON格式
-
將.properties文件改成.yml文件,看起來(lái)會(huì)比較方便
-
修改.yml文件
-
重啟Spring Boot娩怎,到瀏覽器中查看
參考博文:
https://blog.csdn.net/hjc1984117/article/details/77334616