Java语法:请求参数设置

一、区分不同请求

GET请求 只查询资源

POST请求 修改或更新资源

PUT 更新资源

DELETE 删除资源

GetMapping传参只能是字符串 不能是数组,列表这种多个的

PostMapping可传多个 因此查询设计数组或列表可用postmapping

二、不同注解

@PathVariable

路径参数 须在请求路径加上

@Param

在写原生sql时要用

且定义的参数前端需要凭借在url上

@RequestBody

前端传json 通过该注解可以转成Java对象(实体类)

@RequestParam

获取查询参数:通过指定参数名称,@RequestParam注解可以从请求的查询字符串中获取对应参数的值。

获取表单数据:当处理表单提交时,@RequestParam注解可以从表单数据中获取指定参数的值。

参数绑定:@RequestParam注解将请求参数的值绑定到方法参数上,可以将参数值自动转换为方法参数的类型。

简单讲就是可以从前端传入的json参数中获取某个变量

如@RequestParam("id") int id 获取传入的id

@RequestPart("file")
如:
public Result importentities(@RequestPart("file") MultipartFile file)
实现文件格式参数

ps:便于配置很多条件:

  1. value:指定请求参数的名称。可以使用value属性来定义参数名称。例如:@RequestParam(value = "id"),表示从请求中获取名为"id"的参数值。

  2. required:指定参数是否为必需。默认情况下,required属性为true,表示参数是必需的。如果请求中没有提供该参数,将会抛出异常。如果将required属性设置为false,表示参数是可选的,如果请求中没有提供该参数,方法参数将会使用默认值或null

  3. defaultValue:指定参数的默认值。可以使用defaultValue属性为参数设置默认值。当请求中没有提供该参数时,方法参数将使用默认值。例如:@RequestParam(value = "page", defaultValue = "1"),表示如果请求中没有名为"page"的参数,将使用默认值1。

  4. name:指定请求参数的名称。与value属性类似,可以使用name属性来定义参数名称。例如:@RequestParam(name = "id")

  5. defaultValuerequired属性的互斥:defaultValuerequired属性是互斥的,即同时设置它们没有意义。如果将defaultValue属性设置为非空字符串,则required属性将自动被设置为false

HttpServletRequest request

对于request获取参数只能从url中获取

 request.getParameter("param1");获取指定参数 如果为数组默认获取第一个
  request.getParameterValue("param1");获取指定参数获取全部

三、前端请求

1、post发送请求参数

fetch('/api/endpoint?param1=value1', { method: 'POST', // 其他请求配置 });
fetch('/api/endpoint', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: new URLSearchParams({ param1: 'value1' }) });

上述两种是携带参数的不同发送方式  前者是直接凭借参数 后者是将参数放在请求体中

但两者请求对于后端来讲一样 但一般多个参数建议用请求体方式如:

fetch('/api/endpoint', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded'
  },
  body: new URLSearchParams({
    param1: 'value1',
    param2: 'value2'
  })
})
.then(response => response.json())
.then(data => {
  console.log(data); // 输出: "Success!"
})
.catch(error => {
  console.error('Error:', error);
});

2、post发送请求json字符串

fetch('/api/endpoint', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ param1: 'value1', param2: 'value2' }) });

后端用请求体接收 

3、后端获取前端
后端除了通过定义参数获取 也可以通过HttpServletRequest request获取参数

4、通过浏览器url访问发送的请求一般是get请求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

菜鸟蹦迪

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

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

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

打赏作者

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

抵扣说明:

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

余额充值