springboot中Controller中如何获取参数呢?
下文笔者讲述SpringBoot中Controller获取参数的方法及示例分享,如下所示
方式1: 获取路径中的值 方式2: 获取路径参数中的值 方式3: 获取body及request中的参数信息例:Controller获取参数信息的示例
package com.java265.springboot.actionpai.controller; import com.java265.springboot.actionpai.common.User; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.list; @RestController public class HelloWorldController3 { //----------------------方法1、获取路径中的值---------------------------- /** * URL:http://localhost:8081/addUser0/maomao * * @param username * @return */ @GetMapping("/addUser0/{username}") public String addUser0(@PathVariable String username) { System.out.println("username : " + username); return "success0"; } //----------------------方法2、获取路径中的参数---------------------------- /** * URL:http://localhost:8081/addUser1?username=maomao * * @param username * @return */ @GetMapping("/addUser1") public String addUser1(String username) { System.out.println("username : " + username); return "success1"; } //----------------------方法3、通过bean接收HTTP提交的对象---------------------------- /** * URL:http://localhost:8081/addUser2?username=maomao&age=18 * * @param user * @return */ @GetMapping("/addUser2") public String addUser2(User user) { System.out.println("user ... " + user); return "success2"; } //----------------------方法4、通过HttpServletRequest接收参数---------------------------- /** * URL:http://localhost:8081/addUser3?username=gougou * * @param request * @return */ @GetMapping("/addUser3") public String addUser3(HttpServletRequest request) { System.out.println("username ... " + request.getParameter("username")); return "success3"; } //----------------------方法5、用@RequestParam绑定入参---------------------------- /** * 通过@RequestParam注解绑定入参 * <p> * URL:http://localhost:8081/addUser1?username=猫猫 * * @param username * @return */ @GetMapping("/addUser4") public String addUser4(@RequestParam String username) { System.out.println("username : " + username); return "success4"; } //----------------------方法6、用@RequestBody接收JSON数据---------------------------- /** * URL:http://localhost:8081/addUser5 * BODY: * [ * { * "username": "maomao", * "age": "18" * }, * { * "username": "niuniu", * "age": "21" * } * ] * <p> * 通过@RequestBody接收JSON入参,同时需要设置http的header中Content-Type属性值为【application/json;charset=UTF-8】 * * @param userList * @return */ @PostMapping("/addUser5") public String addUser5(@RequestBody List<User> userList) { System.out.println("userList : " + userList); return "success5"; } //----------------------方法7、用@ModelAttribute注解获取参数---------------------------- /** * URL:http://localhost:8081/addUser6?username=maomao&age=29 * <p> * 通过@ModelAttribute注解,从Model、Form或者URL请求参数中获取属性值,上面的URL演示从URL参数中取值 * * @param user * @return */ @PostMapping("/addUser6") public String addUser6(@ModelAttribute("user") User user) { System.out.println("user ... " + user); return "success6"; } /** * URL:http://localhost:8081/addUser7 * <p> * 通过@ModelAttribute注解,从Model、Form或者URL请求参数中获取属性值,上面的URL演示从Model中取值 * * @param user * @return */ @PostMapping("/addUser7") public String addUser7(@ModelAttribute("user") User user) { System.out.println("user7 ... " + user); return "success7"; } @ModelAttribute("user") public User addAccount() { return new User("maomao", 888); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。