springboot获取请求页面参数的get、post,put、delete获取方式

本文详细介绍了在SpringBoot中如何处理各种HTTP请求,包括GET、POST、PUT和DELETE方法,以及如何通过不同的注解和参数处理请求。文章还涵盖了如何使用路径变量、请求体和默认值来增强请求处理能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.获取请求方式

1.1 说明

关于controller获取请求参数,以及返回数据,还是返回指定页面,参考springmvc 总结的案例,

spring mvc 页面的请求参数获取以及响应-------1.直接返回指定的跳转页面_健康平安的活着的专栏-CSDN博客   1.直接返回指定的跳转页面

spring mvc 页面的请求参数获取以及响应-------2.直接返回将要渲染的字符串数据_健康平安的活着的专栏-CSDN博客      2.直接返回将要渲染的字符串数据

本文主要介绍在springboot中怎么处理请求以及进行相应。

1.2 get方式

get的获取方式

 @RequestMapping(value="/")
 method 不写的话,默认GET、POST都支持,根据前端方式自动适应
1.2.1 第一种 预站位符

1、单一参数@RequestMapping(path = "/{id}", method = RequestMethod.GET)
  public String getUser(@PathVariable String id ) {}

2.可以同时指定多个提交方法

请求地址:http://localhost:8080/200/2345

@RequestMapping(path = "/{dep_id}/{user_id}", method = RequestMethod.GET) 可以同时指定多个提交方法
getUser(@PathVariable("dep_id") String departmentID,@PathVariable("user_id") String userid)

1.2.2 第二种 简写版

简写
 @GetMapping("/api/user")
    public String getUser(){
        return "my name is ljf!";
    }

等价于:

   @RequestMapping(path="/api/user",method = RequestMethod.GET)
    public String getName(){
        return "my name is ljf!";
    }

说明:

              @GetMapping           等价于   @RequestMapping(method = RequestMethod.GET)
                @PostMapping     等价于     @RequestMapping(method = RequestMethod.POST)
                @PutMapping  等价于        @RequestMapping(method = RequestMethod.PUT)
                @DeleteMapping  等价于     @RequestMapping(method = RequestMethod.DELETE)

这种注解的特点是:一个注解顶两个使用 

1.2.3 第三种 设置默认值

可以设置默认值,比如分页 

#没有设置默认值

 @GetMapping(value="/v1/page_user1")
    public Object pageUser(int  from, int size ){
        params.clear();
        params.put("from", from);
        params.put("size", size);
        
        return params;
        
    }

    #设置默认值
    /**
     * 功能描述:默认值,是否必须的参数
     * @param from
     * @param size
     * @return
     */
    @GetMapping(value="/v1/page_user2")
    public Object pageUserV2(@RequestParam(defaultValue="0",name="page") int  from, int size ){

        params.clear();
        params.put("from", from);
        params.put("size", size);
        return params;
    }

1.2.4 第四种 使用@RequestBody 请求体映射实体类


     * 功能描述:bean对象传参
     * 注意:  1、注意需要指定http头为 content-type为application/json
     *             2、使用body传输数据
    @RequestMapping("/v1/save_user")
    public Object saveUser(@RequestBody User user){
        params.clear();

        params.put("user", user);
        return params;    
    }

1.2.5 第四种 使用原始servlet的方式

@GetMapping("/v1/test_request")
    public Object testRequest(HttpServletRequest request){
        params.clear();
        String id = request.getParameter("id");

        params.put("id", id);
        return params;    
    }

1.2.6第5种 使用路径方式

@RequestMapping("/{id}")
@ResponseBody
public String addInfo(@PathVariable("id") String pid){
  return pid;
}


1.3 post请求

	/**
	 * 功能描述:测试PostMapping
	 * @param accessToken
	 * @param id
	 * @return
	 */
	@PostMapping("/v1/login")
	public Object login(String id, String pwd){
		params.clear();
		params.put("id", id);
		params.put("pwd", pwd);
		return params;	
	}

1.4 put 请求

	@PutMapping("/v1/put")
	public Object put(String id){
		params.clear();
		params.put("id", id);
		return params;	
	}
	

1.5 delete 请求

	@DeleteMapping("/v1/del")
	public Object del(String id){
		params.clear();
		params.put("id", id);
		return params;	
	}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值