wordpress 安全 插件高級seo
postman
Postman是一款功能強大的網(wǎng)頁調(diào)試與發(fā)送網(wǎng)頁HTTP請求的Chrome插件
作用:常用于進行接口測試
簡單參數(shù)
原始方式
在原始的web程序中,獲取請求參數(shù),需要通過HttpServletRequest 對象手動獲
http://localhost:8080/simpleParam?name=Tom&age=10
SpringBoot方式
簡單參數(shù):參數(shù)名與形參變量名相同,定義形參即可接收參數(shù)
1.編寫代碼
@RequestMapping("/simpleParam")public String simpleParam(String name,Integer age){System.out.println(name + ":" + age);return "ok";}
2. 啟動程序
3.打開postman工具,點擊發(fā)送,顯示ok
http://localhost:8080/simpleParam?name=Tom&age=18
4.返回控制臺查看
?
如果是POST方式 無需修改Java代碼
其余步驟一樣
簡單參數(shù):如果方法形參名稱與請求參數(shù)名稱不匹配,可以使用 @RequestParam 完成映射。
//簡單參數(shù)@RequestMapping("/simpleParam")public String simpleParam(@RequestParam(name="name") String username, Integer age){System.out.println(username + ":" + age);return "ok";}
注意事項
@RequestParam中的required屬性默認為true,代表該請求參數(shù)必須傳遞,如果不傳遞將報錯。
如果該參數(shù)是可選的,可以將required屬性設置為false。
1.原始方式獲取請求參數(shù)
?Controller方法形參中聲明HttpServletRequest對象
調(diào)用對象的getParameter(參數(shù)名)
2.SpringBoot中接收簡單參數(shù)
請求參數(shù)名與方法形參變量名相同
會自動進行類型轉換
3.@RequestParam注解
方法形參名稱與請求參數(shù)名稱不匹配,通過該注解完成映射
該注解的required屬性默認是true,代表請求參數(shù)必須傳遞
實體參數(shù)
簡單實體對象
請求參數(shù)名與形參對象屬性名相同,定義POJO接收即可
1.定義User類
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中編寫請求代碼
//實體參數(shù)@RequestMapping("/simplePojo")public String simplePojo(User user){System.out.println(user);return "OK";}
3.點開postman工具
http://localhost:8080/simplePojo?name=ITCAST&age=10
4.返回idea控制臺顯示
復雜實體對象
請求參數(shù)名與形參對象屬性名相同,按照對象層次結構關系即可接收嵌套POIO屬性
參數(shù)?
1.定義Address類
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類中添加新的屬性
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.編寫請求方法
//復雜實體對象@RequestMapping("/complexPojo")public String complexPojo(User user){System.out.println(user);return "ok";}
4.運行 并在postman中發(fā)送
http://localhost:8080/complexPojo?name=ITCAST&age=20&address.province=湖南&address.city=長沙
?5.控制臺輸出
實體對象參數(shù)
規(guī)則: 請求參數(shù)名與形參對象屬性名相同,即可直接通過POJO接收
數(shù)組集合參數(shù)
數(shù)組參數(shù)
請求參數(shù)名與形參數(shù)組名稱相同且請求參數(shù)為多個,定義數(shù)組類型形參即可接收參數(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ù)
請求參數(shù)名與形參集合名稱相同且請求參數(shù)為多個,@RequestParam 綁定參數(shù)關系
//集合參數(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
小結
數(shù)組集合參數(shù)
數(shù)組: 請求參數(shù)名與形參中數(shù)組變量名相同,可以直接使用數(shù)組封裝
集合:請求參數(shù)名與形參中集合變量名相同,通過@RequestParam綁定參數(shù)關系
日期參數(shù)
日期參數(shù):使用 @DateTimeFormat 注解完成日期參數(shù)格式轉換
//日期參數(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ù)鍵名與形參對象屬性名相同,定義POJO類型形參即可接收參數(shù),需要使用 @RequestBody 標識
1.編寫請求方法
//JSON參數(shù)@RequestMapping("/jsonParam")public String jsonParam(@RequestBody User user){System.out.println(user);return "ok";}
?2.在postman中點擊發(fā)送
http://localhost:8080/jsonParam
-
URL:請求的URL是
http://localhost:8080/jsonParam
,這表明請求是發(fā)送到本地服務器上的/jsonParam
路徑。 -
請求方法:使用的是POST方法,這意味著請求的主要目的是向服務器發(fā)送數(shù)據(jù)。
-
Body部分:
- Body類型:選擇了
raw
,表示你要發(fā)送的是原始數(shù)據(jù)。 - 數(shù)據(jù)格式:選擇了
JSON
,這表示你發(fā)送的數(shù)據(jù)格式是JSON。
- Body類型:選擇了
-
發(fā)送的數(shù)據(jù):
- JSON對象包含三個鍵值對:
"name": "ITCAST"
:表示名稱為ITCAST
。"age": 16
:表示年齡為16。"address"
:是一個嵌套的JSON對象,包含兩個鍵值對:"province": "北京"
:表示省份為北京。"city": "北京"
:表示城市為北京。
- JSON對象包含三個鍵值對:
-
響應:
- 請求成功發(fā)送,并且服務器返回了
200 OK
的狀態(tài)碼,表示請求成功。 - 返回的內(nèi)容是一個字符串
"ok"
。
- 請求成功發(fā)送,并且服務器返回了
這個操作是在通過Postman向一個本地服務器的接口發(fā)送一個JSON格式的請求數(shù)據(jù),并成功得到了服務器的響應。
編寫json代碼
{"name":"ITCAST","age":16,"address":{"province":"北京","city":"北京"}
}
3.運行
路徑參數(shù)
通過請求URL直接傳遞參數(shù),使用{...}來標識該路徑參數(shù),需要使用 @PathVariable 獲取路徑參數(shù)
//路徑參數(shù)@RequestMapping("/path/{id}")public String pathParam(@PathVariable Integer id){System.out.println(id);return "ok";}
獲取多個路徑參數(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
總結
1.簡單參數(shù)
定義方法形參,請求參數(shù)名與形參變量名一致
如果不一致,通過@RequestParam手動映射
2.實體參數(shù)
請求參數(shù)名,與實體對象的屬性名一致,會自動接收封裝
3.數(shù)組集合參數(shù)
數(shù)組: 請求參數(shù)名與數(shù)組名一致,直接封裝
集合: 請求參數(shù)名與集合名一致,@RequestParam綁定關系
4.日期參數(shù)
@DateTimeFormat
5.JSON參數(shù)
@RequestBody
6.路徑參數(shù)
@PathVariable