@PathVariable、@RequestHeader、@RequestParam、@RequestBody 註解使用
阿新 • • 發佈:2021-10-13
註解使用
@PathVariable、@RequestHeader、@RequestParam、@RequestBody
@RestController public class ParameterController { /** * @PathVariable:獲取路徑變數的註解 * restFul風格傳遞引數 * @param id * @param name * @return */ @RequestMapping("/info/{id}/{name}") public Map<String, Object> info(@PathVariable("id") Integer id, @PathVariable("name") String name) { HashMap<String, Object> map = new HashMap<>(); map.put("id", id); map.put("name", name); System.out.println(map); return map; } }
/**
* restFul風格傳遞引數時,可以用一個map集合接收所有引數
* 注意:引數前還是需要寫@PathVariable註解
* @param map
* @return
*/
@RequestMapping("/{id}/{name}/{age}/{gender}")
public Map<String, Object> info(@PathVariable Map<String, Object> map){
System.out.println(map);
return map;
}
/** * @param host * @param map * @return * @RequestHeader 獲取請求頭的註解 * 當註解加了值的時候是獲取某個請求頭 * 如果註解不加值,用一個map集合則獲取的是所有的請求頭 */ @RequestMapping("/befo") public Map<String, Object> befo(@RequestHeader("host") String host,@RequestHeader Map<String, Object> map){ System.out.println(host); System.out.println(map); return map; }
/** * RequestParam 獲取請求引數的註解 * 當註解加了值的時候是獲取某個請求引數 * 如果註解不加值,用一個map集合則獲取的是所有的請求引數 * 注意:也可以在有多個路徑變數的url路徑中獲取某個引數 * * @param id * @param name * @param age * @param gender * @param map * @param map2 * @return */ @RequestMapping("/{id}/{name}") public Object info(@PathVariable("id") Integer id, @PathVariable("name") String name, @RequestParam("age") Integer age, @RequestParam("gender") String gender, @PathVariable Map<String, Object> map, @RequestParam Map<String, Object> map2 ){ System.out.println(age); System.out.println(map); System.out.println(map2); ArrayList<Object> objects=new ArrayList<>(); objects.add(map); objects.add(map2); return objects; }
<a href="/2/xiang?age=18&gender=男">
"/2/xiang?age=18&gender=男"
</a>
/**
* @param requestBody
* @return
* @RequestBody:獲取請求體的內容
* 注意:只有post請求才有請求體
*/
@RequestMapping("/info2")
public String info2(@RequestBody String requestBody){
System.out.println(requestBody);
return requestBody;
}
<form action="/info2" method="post">
<input type="text" name="name">
<input type="password" name="pwd">
<input type="submit" value="提單">
</form>