1 GET方式
注意:GET方式测试时,不要使用@RequestBody注解,前端的GET请求标准是URL传参
1.1 方式一,获取请求头中的数据
后端使用@RequestHeader ,可用于token的传递
@GetMapping("select")publicStringselect(@RequestHeader("token")String tokenParam){return"token: "+tokenParam;}
1.2 方式二,接收请求路径中占位符的值
后端使用@PathVariable,是spring3.0的一个新功能:接收请求路径中占位符的值
测试数据中id=10
@GetMapping("{id}")publicStringselect(@PathVariable("id")Integer id){return"传入的id值为:"+ id;}
1.3 方式三,不使用任何注解
@GetMapping("id")publicStringselect(String name){return"姓名:"+ name;}
1.4 方式四,对象方式接收参数
前端可以传递任何User对象中对应的字段,后端都可以接收到
@GetMapping("select")publicStringselect(User user){return user.toString();}
2 POST方式
Java后端代码采用post方式,参数使用注解@RequestBody
@PostMapping("/sys/login")publicMap<String,Object>login(@RequestBodyLogin login)
3 文件上传测试
文件上传采用MultipartFile类型,多文件上传使用MultipartFile[]类型。
上传完成后,将文件上传的完整路径(包含文件名称和后缀),返回。
// controller方法@PostMapping("/uploadFiles")publicList<String>uploadFiles(@RequestParam("files")MultipartFile[] files){List<String> filePath=FileService.uploadFile(files);return filePath;}
注意:filePath无论是Windows环境还是Liunx环境都需要绝对路径,否则不生效。为了避免文件重名导致的覆盖,给文件名称增加了一个时间戳。获取数据时,将时间戳截取掉即可。
获取文件名称及后缀:file.getOriginalFilename()
获取文件传递的key值:file.getName()//server 实现类方法/**多文件上传*/publicList<String>uploadFile(MultipartFile[] files){List<String> filePathList =newArrayList<>();for(MultipartFile file : files){if(!file.isEmpty()){String filePath ="D:\data\" +System.currentTimeMillis()+ file.getOriginalFilename();File newFile =newFile(filePath);
filePathList.add(filePath);try{//转存文件到指定路径,如果文件名重复的话,将会覆盖掉之前的文件,这里是把文件上传到 “绝对路径”
file.transferTo(newFile);}catch(IOException e){
e.printStackTrace();}}}return filePathList;}
版权归原作者 麦子粒粒 所有, 如有侵权,请联系我们删除。