springboot中Controller中如何获取参数呢?

陈欣 SpringBoot 发布时间:2023-08-23 15:50:57 阅读数:8290 1
下文笔者讲述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);
    }
 
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/SpringBoot/202308/7275.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者