本篇文章为你整理了SpringBoot在方法中使用参数()的详细内容,包含有 SpringBoot在方法中使用参数,希望能帮助你了解 SpringBoot在方法中使用参数。
@RequestMapping(value = "/put/{name}")
public String put(@PathVariable String name){
return name;
}
在访问 http://localhost:8080/put/拉嘎节目" 时,程序会自动将 URL 中的模板变量 {name} 绑定到通过@PathVariable 注解的同名参数上,即"程序获取路径中的值"
2.获取路径中的参数
对于路径中的参数获取 ,可以写入方法的形参中。下面代码是获取参数 username 的值。
@RequestMapping(value = "/put")
public String put(String name){
return name;
}
3.通过 Bean 接收 HTTP 提交的对象
可以通过 Bean获取 HTTP 提交的对象,如以下代码
@RequestMapping(value = "/put")
public String put(Book book){
return book.toString();
}
.
4.用注解@ModelAttribute获取参数
用于从 Model、Form、URL 请求参数中获取属性值, 如以下代码
@RequestMapping(value = "/put")
public String put(@ModelAttribute("book") Book book){
return book.toString();
}
参数在路径URL中:
参数在Form中:
5.通过HttpServletRequest接收参数
可以通过HttpServletRequest接收参数 如以下代码
@RequestMapping(value = "/put")
public String put(HttpServletRequest request){
return request.getParameter("username");
}
6.@RequestParam绑定入参
当请求参数不存在时会有异常发生,可以通过设置属性 "required=false" 来解决。
@RequestMapping(value = "/put")
public Map String, Comparable put(@RequestParam(value = "id",required = false) Integer id, @RequestParam(value = "username",required = false) String username){
Map String, Comparable map = new HashMap String, Comparable
map.put("id", id);
map.put("username", username);
return map;
}
7.用@RequsetBody 接收 JSON 数据
@RequestMapping(value = "/put")
public Map String, String put(@RequestBody Map String, String book){
return book;
}
8.上传文件MultipartFile
通过@RequestParam 获取文件,如下代码
@RequestMapping(value = "/put")
public String put(@RequestParam("file")MultipartFile file, RedirectAttributes redirectAttributes){
if (file.isEmpty()){
redirectAttributes.addFlashAttribute("message","请选择文件");
return "no";
try {
byte[] bytes = file.getBytes();
Path path = Paths.get("./"+file.getOriginalFilename());
Files.write(path, bytes);
redirectAttributes.addFlashAttribute("message","成功上传"+file.getOriginalFilename());
} catch (Throwable e) {
e.printStackTrace();
return "ok";
}
9. 上传图片
很多人在整合富文本编辑器时不容易成功,特别是在不同版本要求返回的数据类型不一样时,而网络上的资料很多是不带版本号或是过时的
这里以常用的富文本编辑器 CKEditor为例,实现上传图片功能 。Spring Boot 4.0后的版本只有返回的是 JSON 恪式的数据才能成功,如 [{"uploaded":1, "fileName":"fileName", "url"= "message":"上传成功"}] 上传图片的代码如下,
@RequestMapping(value = "/put")
public String put(@RequestParam("upload")MultipartFile file, RedirectAttributes redirectAttributes){
Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
String nyr = dateFormat.format(date);
if (file.getOriginalFilename().endsWith(".jpg")file.getOriginalFilename().endsWith(".png")
file.getOriginalFilename().endsWith(".git")){
try {
byte[] bytes = file.getBytes();
String s = nyr+Math.random()+file.getOriginalFilename();
Path path = Paths.get("./"+s);
Files.write(path, bytes);
return "success";
} catch (Throwable e) {
e.printStackTrace();
}else {
return "格式不支持";
return "error";
}
以上就是SpringBoot在方法中使用参数()的详细内容,想要了解更多 SpringBoot在方法中使用参数的内容,请持续关注盛行IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。