一.获取请求方式
1.1 说明
关于controller获取请求参数,以及返回数据,还是返回指定页面,参考springmvc 总结的案例,
spring mvc 页面的请求参数获取以及响应-------1.直接返回指定的跳转页面_健康平安的活着的专栏-CSDN博客 1.直接返回指定的跳转页面
spring mvc 页面的请求参数获取以及响应-------2.直接返回将要渲染的字符串数据_健康平安的活着的专栏-CSDN博客 2.直接返回将要渲染的字符串数据
本文主要介绍在springboot中怎么处理请求以及进行相应。
1.2 get方式
get的获取方式
@RequestMapping(value="/")
method 不写的话,默认GET、POST都支持,根据前端方式自动适应
1.2.1 第一种 预站位符
1、单一参数@RequestMapping(path = "/{id}", method = RequestMethod.GET)
public String getUser(@PathVariable String id ) {}
2.可以同时指定多个提交方法
请求地址:http://localhost:8080/200/2345
@RequestMapping(path = "/{dep_id}/{user_id}", method = RequestMethod.GET) 可以同时指定多个提交方法
getUser(@PathVariable("dep_id") String departmentID,@PathVariable("user_id") String userid)
1.2.2 第二种 简写版
简写
@GetMapping("/api/user")
public String getUser(){
return "my name is ljf!";
}
等价于:
@RequestMapping(path="/api/user",method = RequestMethod.GET)
public String getName(){
return "my name is ljf!";
}
说明:
@GetMapping 等价于 @RequestMapping(method = RequestMethod.GET)
@PostMapping 等价于 @RequestMapping(method = RequestMethod.POST)
@PutMapping 等价于 @RequestMapping(method = RequestMethod.PUT)
@DeleteMapping 等价于 @RequestMapping(method = RequestMethod.DELETE)
这种注解的特点是:一个注解顶两个使用
1.2.3 第三种 设置默认值
可以设置默认值,比如分页
#没有设置默认值
@GetMapping(value="/v1/page_user1")
public Object pageUser(int from, int size ){
params.clear();
params.put("from", from);
params.put("size", size);
return params;
}
#设置默认值
/**
* 功能描述:默认值,是否必须的参数
* @param from
* @param size
* @return
*/
@GetMapping(value="/v1/page_user2")
public Object pageUserV2(@RequestParam(defaultValue="0",name="page") int from, int size ){
params.clear();
params.put("from", from);
params.put("size", size);
return params;
}
1.2.4 第四种 使用@RequestBody 请求体映射实体类
* 功能描述:bean对象传参
* 注意: 1、注意需要指定http头为 content-type为application/json
* 2、使用body传输数据
@RequestMapping("/v1/save_user")
public Object saveUser(@RequestBody User user){
params.clear();
params.put("user", user);
return params;
}
1.2.5 第四种 使用原始servlet的方式
@GetMapping("/v1/test_request")
public Object testRequest(HttpServletRequest request){
params.clear();
String id = request.getParameter("id");
params.put("id", id);
return params;
}
1.2.6第5种 使用路径方式
@RequestMapping("/{id}") @ResponseBody public String addInfo(@PathVariable("id") String pid){ return pid; }

1.3 post请求
/**
* 功能描述:测试PostMapping
* @param accessToken
* @param id
* @return
*/
@PostMapping("/v1/login")
public Object login(String id, String pwd){
params.clear();
params.put("id", id);
params.put("pwd", pwd);
return params;
}
1.4 put 请求
@PutMapping("/v1/put")
public Object put(String id){
params.clear();
params.put("id", id);
return params;
}
1.5 delete 请求
@DeleteMapping("/v1/del")
public Object del(String id){
params.clear();
params.put("id", id);
return params;
}