前后端分离场景下SpringBoot接收前台传参的几种场景

本文介绍了在前后端分离场景下,SpringBoot如何处理不同Content-Type的POST请求,包括application/x-www-form-urlencoded、multipart/form-data和application/json。详细讨论了@RequestMapping、@GetMapping、@PostMapping等注解的作用,以及@RequestParam、@PathVariable、@RequestHeader和@RequestBody的用法,重点解析了如何接收URI、请求头、请求体中的参数。

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

  1. 前台请求的Content-Type
    对于POST类型的请求,服务端会根据请求头中的Content-Type值来获取请求中消息主体的编码方式,从而进行数据的解析。

    i. application/x-www-form-urlencoded
    原生Form表单默认的方式,提交的表单数据会转换为键值对并按照 key1=val1&key2=val2 的方式进行编码。jquery的post请求中默认也是这种"application/x-www-form-urlencoded;charset=utf-8"

    ii. multipart/form-data
    另一个常见的 POST 数据提交的方式,也是类似上面键值对进行分隔的,这种额外可以上传单个、多个文件

    iii. application/json
    前后端分离类项目常用的类型,轻量,主流

    // 前后端分离场景上传文件方法
    $("#ajax-submit").click(function(){
        var formdata=new FormData(); // 该方法由浏览器原生提供
        formdata.append("user",$("#user").val());
        formdata.append("avatar_img",$("#avatar")[0].files[0]);
        $.ajax({
    
            url:"",
            type:"post",
            data:formdata,
            processData: false ,    // 不处理数据
            contentType: false,    // ajax上传文件不需要设置 content-type
    
            success:function(data){
                console.log(data)
            }
        })
    
    })
    
  2. 指定请求与处理方法之间的映射关系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

缔曦_deacy

码字不易,请多支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值