SpringBoot在方法中使用参数()

  本篇文章为你整理了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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: