详解get与post请求方式、content-type与responseType、@Requestbody与@Requestparam的使用场景

本文详细介绍了HTTP中的GET和POST请求的区别,GET主要用于获取数据,而POST常用于提交表单,其数据封装在body中。同时,讨论了Content-Type和Response-Type在数据传输中的作用,Content-Type定义了请求头中数据的格式,如application/json和application/x-www-form-urlencoded,而Response-Type则决定了服务器返回数据的类型。此外,文章还提及了@RequestParam和@RequestBody在处理请求参数时的不同,前者处理请求头中的参数,后者处理请求体中的数据,特别是JSON格式的数据。请注意,使用@RequestBody时需要项目中包含处理JSON的依赖,并且JSON对象需先转化为字符串。

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

一. get与post请求方式

post:一般用来提交表单,请求数据被包装在body体中,是安全的;
get:一般用来获取数据信息,当然也可以用来获取表单,请求参数在url中,是不安全的;


二. content-type与responseType

1. content-type

contype-Type用来指定不同格式上传参数的请求信息(页面——>服务器)。

content-Type常用数据类型:

  1. application/json:把它作为请求头,则传递的消息主体是序列化后的 JSON 字符串。格式如下图所示:
    在这里插入图片描述

  2. application/x-www-form-urlencoded:form表单默认的数据格式,提交的数据按照 key1=val1 & key2=val2 的方式进行编码,key 和 val 都进行了 URL 转码(ajax默认的Content-Type类型)。格式示例如下图所示:在这里插入图片描述

2. responseType

responseType用来指定后台返回响应数据的类型(服务器——>页面)。


三. @Requestbody与@Requestparam

1. @RequestParam

@RequestParam接收的参数是来自requestHeader中,即请求头。通常用于GET请求,像POST、DELETE等其它类型的请求也可以使用。

2. @RequestBody

@RequestBody接收的参数是来自requestBody中,即请求体。一般用于处理非 Content-Type: application/x-www-form-urlencoded编码格式的数据,比如:application/jsonapplication/xml等类型的数据。通常用于接收POST、DELETE等类型的请求数据,GET类型也可以适用。

注意点:

  • 项目中要加入处理json字符串的依赖(jar包),如jackson
  • @RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的),所以只能发送POST请求
  • jQuery中,$.ajax()默认发送的参数类型及编码为:application/x-www-form-urlcoded,而@RequestBody处理的参数类型及编码为:aplication/json或者是application/xml,通过contentType属性来指定
  • 在传递之前,对JSON对象要使用JSON.stringify()JSON.stringify() 方法将一个 JavaScript 值(对象或者数组)转换为一个 JSON 字符串
  • 一个请求,只有一个RequestBody
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

来老铁干了这碗代码

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值