url传参
1.get方式
// 访问:http://localhost:8080/test/get/xxx
@GetMapping("/get/{name}")
public String get(@PathVariable("name") String name2){
System.out.println("name: "+ name2);
return "Hi "+ name2;
}
// 访问:http://localhost:8080/test/get2?name=yyy
@GetMapping("/get2")
// 请求参数名字与方法中的形参一致,可以省略@RequestParam
// public String get2(String name2) {
public String get2(@RequestParam("name") String name2) {
System.out.println("name: "+ name2);
return "Hi "+ name2;
}
@GetMapping("/get3")
//给一个默认值或者required = false
public String get3(@RequestParam(value = "name", defaultValue = "admin") String name) {
System.out.println("name: "+ name);
return "Hi "+ name;
}
2.post方式
@PostMapping("/post")
//@RequestParam同get
public String post(@RequestParam("username") String name, Integer age){
log.info("name=" + name+", age=" + age);
return "name=" + name+", age=" + age;
}
@PostMapping("post2")
public String post2(HttpServletRequest request) {
ServletInputStream is = null;
StringBuilder sb = null;
try {
is = request.getInputStream();
sb = new StringBuilder();
byte[] buf = new byte[1024];
int len = 0;
while ((len = is.read(buf)) != -1){
sb.append(new String(buf,0,len));
}
System.out.println(sb.toString());
return sb.toString();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (is != null) {
is.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
}
@PostMapping("/post3")
public String post3(@RequestBody User user) {
log.info(user.toString());
return null;
}
注
- 把json作为参数传递,要用【RequestBody】