springboot 之 在Controller如何接收参数呢?

乔欣 SpringBoot 发布时间:2022-11-16 21:59:14 阅读数:19172 1
下文笔者将讲述Controller中接收url路径中的参数、表单、问号后面参数、body中的JSON信息
使用@PathVariable
直接使用String定义变量
使用HttpServletRequest接收request对象,然后获取其中的变量
使用requestbody注解获取json内容
使用model接收参数信息
例:
package com.java265.controller;
 
import com.java265.domain.User;
import org.springframework.web.bind.annotation.*;
 
import javax.servlet.http.HttpServletRequest;
import java.util.list;
 
@RestController
public class ControllerTest3 {
 
    //----------------------方法1、获取路径中的值----------------------------
    /**
     * URL:http://localhost:8081/addUser0/zhangsan
     *
     * @param username
     * @return
     */
    @GetMapping("/addUser0/{username}")
    public String addUser0(@PathVariable String username) {
        System.out.println("username : " + username);
        return "success";
    }
 
    //----------------------方法2、获取路径中的参数----------------------------
    /**
     * URL:http://localhost:8081/addUser1?username=zhangsan
     *
     * @param username
     * @return
     */
    @GetMapping("/addUser1")
    public String addUser1(String username) {
        System.out.println("username : " + username);
        return "success";
    }
 
    //----------------------方法3、通过bean接收HTTP提交的对象----------------------------
    /**
     * URL:http://localhost:8081/addUser2?username=zhangsan&age=88
     *
     * @param user
     * @return
     */
    @GetMapping("/addUser2")
    public String addUser2(User user) {
        System.out.println("user ... " + user);
        return "success";
    }
 
    //----------------------方法4、通过HttpServletRequest接收参数----------------------------
    /**
     * URL:http://localhost:8081/addUser3?username=zhangsan
     *
     * @param request
     * @return
     */
    @GetMapping("/addUser3")
    public String addUser3(HttpServletRequest request) {
        System.out.println("username ... " + request.getParameter("username"));
        return "success3";
    }
 
    //----------------------方法5、用@RequestParam绑定入参----------------------------
    /**
     * 通过@RequestParam注解绑定入参 
     * URL:http://localhost:8081/addUser1?username=zhangsan
     *
     * @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": "zhangsan",
     * "age": "26"
     * },
     * {
     * "username": "lisi",
     * "age": "18"
     * }
     * ]
     * <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=zhangsan&age=18
     * <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";
    }

	//Get获取参数信息
    @ModelAttribute("user")
    public User addAccount() {
        return new User("zhangsan",8888);
    }
}
版权声明

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

本文链接: https://www.Java265.com/JavaFramework/SpringBoot/202211/4931.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

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

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者