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