传参与接收参数
前端传参类型,后端接收参数
- 在前端开发中,使用 Axios 等库发送请求时,常会遇到 params 和 data 两个配置项。它们看似相似,实则用途完全不同:
前端传参类型
params
- 用于拼接到 URL 中的查询参数(Query Parameters),仅适用于 GET/DELETE 等无请求体的请求
export function getFind(name) {
return service({
method: 'get', // 👈 改为 GET
url: '/Student/selectName',
params: {
name: name
}
});
}
GET /Student/selectName?name=Tomdata
- 用于发送请求体数据(Body Parameters),适用于 POST/PUT/PATCH 等请求
export function updateStudent(id, name) {
return service({
method: 'put',
url: '/Student/update',
data: {
id: id,
name: name
}
})
}
POST /Student/update
{
"id": 123,
"name": "Tom"
}后端接收参数
Java
接收 GET(params)
- @RequestParam
@GetMapping("/Student/selectName")
public String getStudentByName(@RequestParam("name") String name) {
// GET /Student/selectName?name=Tom
return "查询姓名: " + name;
}接收 POST(data)
- @RequestBody
@PutMapping("/Student/update")
public String updateStudent(@RequestBody Student student) {
// PUT /Student/update
// { "id": 123, "name": "Tom" }
return "更新 ID: " + student.getId() + ", 姓名: " + student.getName();
}
// DTO 类
public class Student {
private Long id;
private String name;
// getter / setter
}php
接收 GET(params) 和 POST(data)
- 都可以使用param
// GET /student/selectName?name=Tom
public function selectName(Request $request)
{
// 方式一:通过 Request 对象
$name = $request->param('name', ''); // 第二个参数为默认值
return json([
'code' => 200,
'msg' => '查询成功',
'data' => ['name' => $name]
]);
}
// PUT /student/update
// 请求体: { "id": 123, "name": "Tom" }
public function update(Request $request)
{
// ThinkPHP 6 会自动解析 JSON 请求体到 param()
$id = $request->param('id');
$name = $request->param('name');
// 或者手动获取原始输入(较少用)
// $raw = $request->getContent();
// $data = json_decode($raw, true);
// 业务逻辑:更新数据库等
// ...
return json([
'code' => 200,
'msg' => '更新成功',
'data' => ['id' => $id, 'name' => $name]
]);
}版权所有
版权归属:念宇
