35人参与 • 2026-09-09 • ar
@requestparam:在 get 请求中,如果不需要使用它的特定属性,可以省略;而在其他请求(如 post、put 等)中,若通过 url 参数(param)方式传送数据,通常也会使用该注释。
不过,并非绝对必须使用,只是使用它能更方便地获取和处理参数。
要点:
value:不解释看代码defaultvalue:设置默认值// 发送请求
request.get("/user"{
params:{ // 必须使用params
peopleage: 20,
}
})
@getmapping("/user")
// value属性 :指明发送时url中的名字,和这里的名字做对应,peopleage对应 age
public string getuser(@requestparam(value = "peopleage", defaultvalue = "18") int age) {
return "your age is " + age;
}
@getmapping("/user")
public string getuser(@requestparam(required = false) string email) {
if (email != null) {
return "your email is " + email;
} else {
return "no email provided.";
}
}
@requestbody: 用于 post、put 这类需要在请求体中携带数据的请求场景,特别是当前端发送 json 格式字符串数据时,后端可以用 java 类来接收这些数据。
用法:
@requestbody不可以省略
@postmapping("/user/{id}")
public string updateuser(@requestbody user user) {
// 根据id更新用户信息
return "user updated successfully.";
}
import axios from 'axios';
// 假设后端接口地址
const baseurl = 'http://localhost:8080';
// 要发送的数据
const userdata = {
// 假设user类有name和age属性,根据实际情况修改
name: 'john doe',
age: 30
};
// 发送post请求的函数
const sendpostrequest = async () => {
try {
// 虽然没有在请求头中指明发送的是json格式,只要使用post请求,就会自动对第二个参数进行json格式化
const response = await axios.post(`/user`, userdata);
console.log('请求成功', response.data);
} catch (error) {
console.error('请求失败', error);
}
};
// 调用函数发送请求
sendpostrequest();
作用:
/users/123 //请求的url
@getmapping("/users/{userid}")
public string getuserbyid(@pathvariable("userid") long id) {
// 根据id从数据库或其他数据源获取用户信息
return "user with id " + id + " retrieved successfully.";
}
/orders/100/items/200 // 亲求的url,多个
@getmapping("/orders/{orderid}/items/{itemid}")
public string getorderitem(@pathvariable("orderid") long orderid, @pathvariable("itemid") long itemid) {
// 根据orderid和itemid获取订单中的商品信息
return "retrieving item " + itemid + " from order " + orderid;
}
@getmapping("/users/{userid:\\d+}")
public string getuserbyid(@pathvariable("userid") string userid) {
// 这里可以确保userid是数字格式
return "user with id " + userid + " retrieved successfully.";
}
特别注意属性名,请求中的属性名与controller中的属性名必须要一致
request.get("/admin/list",{
params:{
currentpage:1,
pagesize:10,
username:"zhangsan",
name:"张三",
}
})
public class admincontroller {
@getmapping("/list")
public result<pageresult> getadminlist(
// 参数按照属性名接收
@requestparam(defaultvalue = "1") integer currentpage,
@requestparam(defaultvalue = "10") integer pagesize,
// 请求中的参数名和实体类的属性名进行匹配
admin admin
) {
pageinfo<admin> adminlist = adminservice.getadminlist(currentpage, pagesize);
return pageresult.ok(adminlist);
}
}
import axios from 'axios';
const baseurl = 'http://localhost:8080';
const sendpostrequest = async () => {
try {
const response = await axios.post(`/user`, {
// 请求体参数
userinfo: {
name: 'john doe',
age: 30
}
}, {
// 查询参数
params: {
id: 123
}
});
console.log('请求成功', response.data);
} catch (error) {
console.error('请求失败', error);
}
};
sendpostrequest();
@postmapping("/user")
public string saveuser(
@requestparam("id") long id,
@requestbody userinfo userinfo) {
// 保存用户逻辑
return "user saved successfully.";
}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论