wordpress 安全 插件重慶seo公司排名
postman
Postman是一款功能強(qiáng)大的網(wǎng)頁(yè)調(diào)試與發(fā)送網(wǎng)頁(yè)HTTP請(qǐng)求的Chrome插件
作用:常用于進(jìn)行接口測(cè)試
簡(jiǎn)單參數(shù)
原始方式
在原始的web程序中,獲取請(qǐng)求參數(shù),需要通過(guò)HttpServletRequest 對(duì)象手動(dòng)獲
http://localhost:8080/simpleParam?name=Tom&age=10
SpringBoot方式
簡(jiǎn)單參數(shù):參數(shù)名與形參變量名相同,定義形參即可接收參數(shù)
1.編寫(xiě)代碼
@RequestMapping("/simpleParam")public String simpleParam(String name,Integer age){System.out.println(name + ":" + age);return "ok";}
2. 啟動(dòng)程序
3.打開(kāi)postman工具,點(diǎn)擊發(fā)送,顯示ok
http://localhost:8080/simpleParam?name=Tom&age=18
4.返回控制臺(tái)查看
?
如果是POST方式 無(wú)需修改Java代碼
其余步驟一樣
簡(jiǎn)單參數(shù):如果方法形參名稱(chēng)與請(qǐng)求參數(shù)名稱(chēng)不匹配,可以使用 @RequestParam 完成映射。
//簡(jiǎn)單參數(shù)@RequestMapping("/simpleParam")public String simpleParam(@RequestParam(name="name") String username, Integer age){System.out.println(username + ":" + age);return "ok";}
注意事項(xiàng)
@RequestParam中的required屬性默認(rèn)為true,代表該請(qǐng)求參數(shù)必須傳遞,如果不傳遞將報(bào)錯(cuò)。
如果該參數(shù)是可選的,可以將required屬性設(shè)置為false。
1.原始方式獲取請(qǐng)求參數(shù)
?Controller方法形參中聲明HttpServletRequest對(duì)象
調(diào)用對(duì)象的getParameter(參數(shù)名)
2.SpringBoot中接收簡(jiǎn)單參數(shù)
請(qǐng)求參數(shù)名與方法形參變量名相同
會(huì)自動(dòng)進(jìn)行類(lèi)型轉(zhuǎn)換
3.@RequestParam注解
方法形參名稱(chēng)與請(qǐng)求參數(shù)名稱(chēng)不匹配,通過(guò)該注解完成映射
該注解的required屬性默認(rèn)是true,代表請(qǐng)求參數(shù)必須傳遞
實(shí)體參數(shù)
簡(jiǎn)單實(shí)體對(duì)象
請(qǐng)求參數(shù)名與形參對(duì)象屬性名相同,定義POJO接收即可
1.定義User類(lèi)
public class User {private String name;private Integer age;@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +", age=" + age +'}';}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}
}
2.在controller中編寫(xiě)請(qǐng)求代碼
//實(shí)體參數(shù)@RequestMapping("/simplePojo")public String simplePojo(User user){System.out.println(user);return "OK";}
3.點(diǎn)開(kāi)postman工具
http://localhost:8080/simplePojo?name=ITCAST&age=10
4.返回idea控制臺(tái)顯示
復(fù)雜實(shí)體對(duì)象
請(qǐng)求參數(shù)名與形參對(duì)象屬性名相同,按照對(duì)象層次結(jié)構(gòu)關(guān)系即可接收嵌套POIO屬性
參數(shù)?
1.定義Address類(lèi)
package com.example.springboot01.pojo;/*** @author hyk~*/
public class Address {private String province;private String city;@Overridepublic String toString() {return "Address{" +"province='" + province + '\'' +", city='" + city + '\'' +'}';}public String getProvince() {return province;}public void setProvince(String province) {this.province = province;}public String getCity() {return city;}public void setCity(String city) {this.city = city;}
}
2.在User類(lèi)中添加新的屬性
package com.example.springboot01.pojo;/*** @author hyk~*/
public class User {private String name;private Integer age;private Address address;@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +", age=" + age +", address=" + address +'}';}public Address getAddress() {return address;}public void setAddress(Address address) {this.address = address;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}
}
3.編寫(xiě)請(qǐng)求方法
//復(fù)雜實(shí)體對(duì)象@RequestMapping("/complexPojo")public String complexPojo(User user){System.out.println(user);return "ok";}
4.運(yùn)行 并在postman中發(fā)送
http://localhost:8080/complexPojo?name=ITCAST&age=20&address.province=湖南&address.city=長(zhǎng)沙
?5.控制臺(tái)輸出
實(shí)體對(duì)象參數(shù)
規(guī)則: 請(qǐng)求參數(shù)名與形參對(duì)象屬性名相同,即可直接通過(guò)POJO接收
數(shù)組集合參數(shù)
數(shù)組參數(shù)
請(qǐng)求參數(shù)名與形參數(shù)組名稱(chēng)相同且請(qǐng)求參數(shù)為多個(gè),定義數(shù)組類(lèi)型形參即可接收參數(shù)
//數(shù)組集合參數(shù)@RequestMapping("/arrayParam")public String arrayParam(String hobby[]){System.out.println(Arrays.toString(hobby));return "ok";}
http://localhost:8080/arrayParam?hobby=game&hobby=java&hobby=sing
?
集合參數(shù)
請(qǐng)求參數(shù)名與形參集合名稱(chēng)相同且請(qǐng)求參數(shù)為多個(gè),@RequestParam 綁定參數(shù)關(guān)系
//集合參數(shù)@RequestMapping("/listParam")public String listParam(@RequestParam List<String> hobby){System.out.println(hobby);return "ok";}
http://localhost:8080/listParam?hobby=game&hobby=java&hobby=sing
小結(jié)
數(shù)組集合參數(shù)
數(shù)組: 請(qǐng)求參數(shù)名與形參中數(shù)組變量名相同,可以直接使用數(shù)組封裝
集合:請(qǐng)求參數(shù)名與形參中集合變量名相同,通過(guò)@RequestParam綁定參數(shù)關(guān)系
日期參數(shù)
日期參數(shù):使用 @DateTimeFormat 注解完成日期參數(shù)格式轉(zhuǎn)換
//日期參數(shù)@RequestMapping("/dateParam")public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")LocalDateTime updateTime){System.out.println(updateTime);return "ok";}
http://localhost:8080/dateParam?updateTime=2024-12-12 10:00:05
JSON參數(shù)
JSON參數(shù):JSON數(shù)據(jù)鍵名與形參對(duì)象屬性名相同,定義POJO類(lèi)型形參即可接收參數(shù),需要使用 @RequestBody 標(biāo)識(shí)
1.編寫(xiě)請(qǐng)求方法
//JSON參數(shù)@RequestMapping("/jsonParam")public String jsonParam(@RequestBody User user){System.out.println(user);return "ok";}
?2.在postman中點(diǎn)擊發(fā)送
http://localhost:8080/jsonParam
-
URL:請(qǐng)求的URL是
http://localhost:8080/jsonParam
,這表明請(qǐng)求是發(fā)送到本地服務(wù)器上的/jsonParam
路徑。 -
請(qǐng)求方法:使用的是POST方法,這意味著請(qǐng)求的主要目的是向服務(wù)器發(fā)送數(shù)據(jù)。
-
Body部分:
- Body類(lèi)型:選擇了
raw
,表示你要發(fā)送的是原始數(shù)據(jù)。 - 數(shù)據(jù)格式:選擇了
JSON
,這表示你發(fā)送的數(shù)據(jù)格式是JSON。
- Body類(lèi)型:選擇了
-
發(fā)送的數(shù)據(jù):
- JSON對(duì)象包含三個(gè)鍵值對(duì):
"name": "ITCAST"
:表示名稱(chēng)為ITCAST
。"age": 16
:表示年齡為16。"address"
:是一個(gè)嵌套的JSON對(duì)象,包含兩個(gè)鍵值對(duì):"province": "北京"
:表示省份為北京。"city": "北京"
:表示城市為北京。
- JSON對(duì)象包含三個(gè)鍵值對(duì):
-
響應(yīng):
- 請(qǐng)求成功發(fā)送,并且服務(wù)器返回了
200 OK
的狀態(tài)碼,表示請(qǐng)求成功。 - 返回的內(nèi)容是一個(gè)字符串
"ok"
。
- 請(qǐng)求成功發(fā)送,并且服務(wù)器返回了
這個(gè)操作是在通過(guò)Postman向一個(gè)本地服務(wù)器的接口發(fā)送一個(gè)JSON格式的請(qǐng)求數(shù)據(jù),并成功得到了服務(wù)器的響應(yīng)。
編寫(xiě)json代碼
{"name":"ITCAST","age":16,"address":{"province":"北京","city":"北京"}
}
3.運(yùn)行
路徑參數(shù)
通過(guò)請(qǐng)求URL直接傳遞參數(shù),使用{...}來(lái)標(biāo)識(shí)該路徑參數(shù),需要使用 @PathVariable 獲取路徑參數(shù)
//路徑參數(shù)@RequestMapping("/path/{id}")public String pathParam(@PathVariable Integer id){System.out.println(id);return "ok";}
獲取多個(gè)路徑參數(shù)
@RequestMapping("/path/{id}/{name}")public String pathParam(@PathVariable Integer id,@PathVariable String name){System.out.println(id+":"+name);return "ok";}
http://localhost:8080/path/200/Tom
總結(jié)
1.簡(jiǎn)單參數(shù)
定義方法形參,請(qǐng)求參數(shù)名與形參變量名一致
如果不一致,通過(guò)@RequestParam手動(dòng)映射
2.實(shí)體參數(shù)
請(qǐng)求參數(shù)名,與實(shí)體對(duì)象的屬性名一致,會(huì)自動(dòng)接收封裝
3.數(shù)組集合參數(shù)
數(shù)組: 請(qǐng)求參數(shù)名與數(shù)組名一致,直接封裝
集合: 請(qǐng)求參數(shù)名與集合名一致,@RequestParam綁定關(guān)系
4.日期參數(shù)
@DateTimeFormat
5.JSON參數(shù)
@RequestBody
6.路徑參數(shù)
@PathVariable