本文属于由开发经验总结。 仅做记录。
@RequestMapping
RequestMapping
本身没有限制请求是get或post。例如,下面的地址通过get/post都可以直接访问。
同时因为例子中没有参数,content-type
(或者说入参的格式)也没有要求。
@RequestMapping("/common")
MVCResult request(){
return MVCResult.succ("common","成功");
}
配合@RequestParam
使用的情况,如下。支持入参为application/x-www-form-urlencoded
(&
分隔的参数键值对)。仍然是不限制请求方式是get还是post。
@RequestMapping("/commonWithParam")
MVCResult requestWithParam(@RequestParam("name")String name){
return MVCResult.succ("common","成功:" + name);
}
配合@RequestBody
的情况,需要入参格式为application/json
,后台将传递过来的json数据映射为Vo类。请求只能是用post(?)
@RequestMapping("/update")
MVCResult update2(@RequestBody @Valid DatavUpdateComponentVo model, BindingResult bindingResult) {
String oper = "update Component";
return MVCResult.succ(oper, "修改成功");
}
配合@ModelAttribute
的情况,@ModelAttribute查询的是字符串,因此所有的参数可以通过url传给服务器
@RequestMapping("/modelAttribute")
MVCResult modelAttr(@ModelAttribute(name = "name") String name) {
return MVCResult.succ("modelAttribute", "成功:" + name);
}
formdata的时候也可以用接受上传文件时的参数:
@RequestMapping("/upload")
public MVCResult fileUpload(@ModelAttribute DatavUploadVo body) {
}
@Data
@Getter
@Setter
public class DatavUploadVo {
MultipartFile file;
}
@GetMapping、@PostMapping
是一种简写,限制了method的类型
@RequestMapping(method = RequestMethod.GET/POST)