访问路径为http://localhost:8080/
@PathVariable
@GetMapping("/get/{id}/blank/{name}")
public Map getValue(@PathVariable("id") Integer id,
@PathVariable("name") String name,
@PathVariable Map<String,String> kv){
Map map = new HashMap<String,Object>();
map.put("id",id);
map.put("name",name);
map.put("map",kv);
return map;
}
Restful风格获取路径的数据,适用于get方式获取数据。id和name的常规获取方式我比较熟悉。
值得注意的是@PathVariable注解可以直接用Map方式进行获取。key是@PathVariable(“key”)中所写入的"key",value是路径中传入的数据。
路径变量分别是id和name,那么id和name会以键值对的方式传入我们自定义的名为kv的map中。
在浏览器中输入:http://localhost:8080/get/15/blank/laowang
得到以下内容,验证成功
@RequestHeader
@GetMapping("/getHeaders")
public Map getHeaders(@RequestHeader("User-Agent") String userAgent,
@RequestHeader Map<String ,String > headers){
HashMap<String, Object> map = new HashMap<>();
map.put("UA",userAgent);
map.put("headers",headers);
return map;
}
如果在@RequestHeader中指定了获取Header中的哪项值,就会获取某个值,比如我写的"User-Agent",如果指定,那么生命一个Map<String,String>类型的Map可以接收全部的Header数据。
向浏览器输入:
得到以下内容,验证成功
@RequestParam
@GetMapping("/getValue")
public Map getValues(@RequestParam("id") Integer id,
@RequestParam("name") String name,
@RequestParam Map<String,String> kv){
HashMap<String, Object> map = new HashMap<>();
map.put("id",id);
map.put("name",name);
map.put("map",kv);
return map;
}
@RequestParam与@PathVariable相同,单独获取我熟悉。值得注意的是,它同时也支持用Map获取全部数据。
在浏览器中输入:http://localhost:8080/getValue?id=15&name=laowang
获得以下结果,验证成功