SpringBoot - [09] Restful风格接口方法&参数

GetMappingPostMappingDeleteMappingPutMapping是SpringBoot中常用的HTTP请求映射注解,它们分别对应HTTP协议中的GET、POST、DELETE和PUT方法。

 

一、方法

001 || GetMapping

区别:用于处理HTTP GET请求,请求参数会绑定到方法参数上,通常用于获取数据。

使用场景:如查询用户信息、获取商品列表等。

@GetMapping("/users/{id}")
public User getUser(@PathVariable Long id){
    // 根据id查询用户信息
}

 

002 || PostMapping

区别:用于处理HTTP POST请求,请求参数会绑定到方法参数上,通常用于创建新对象或执行特定操作。

使用场景:如注册新用户、创建新订单等。

@PostMapping("/users")
public User createUser(@RequestBody User user){
    // 创建新用户
}

 

003 || DeleteMapping

区别:用于处理HTTP DELETE请求,通常用于删除对象。

使用场景:如删除用户、删除订单等。

@DeleteMapping("/users/{id}")
public void deleteUser(@PathVariable Long id){
    // 创建新用户
}

 

 

004 || PutMapping

区别:用于处理HTTP PUT请求,通常用于更新对象。

使用场景:如更新用户信息、更新订单状态等。

@PutMapping("/users/{id}")
public User updateUser(@PathVariable Long id,@RequestBody User user){
    // 根据id更新用户信息
}

 

 

二、参数

001 || 路径变量(@PathVariable)

使用场景:当需要从URL中获取特定部分的值来确定操作对象时使用。例如,根据用户id查询用户信息时,用户id时从URL路径中获取的。

@GetMapping("/users/{id}")
public User getUser(@PathVariable Long id){
    // 根据id查询用户信息,这里的id就是从URL 如/users/123中的123获取并转换为Long类型
}

 

002 || 请求体参数(@RequestBody)

使用场景:当发送的数据是复杂的对象结构,并且是通过HTTP请求的主题(body)发送时使用。比如创建或更新一个包含多个属性的用户对象。

@PostMapping("/users")
public User createUser(@RequestBody User user){
    // 这里的user对象是从请求体中获取并转换为User类型的,例如发送JSON格式的用户数据
}

 

003 || 查询参数(@RequestParam)

使用场景:当需要从URL的查询字符串中获取简单的参数值时使用。例如,在查询用户列表时,可能需要根据年龄范围或者用户名模糊查询等条件。

@GetMapping("/users")
public List<User> getUsers(@RequestParam(required = false) String name,
                           @RequestParam(defaultValue = "0") int ageStart,
                          @RequestParam(defaultValue = "100") int ageEnd){
    // 根据name, ageStart和ageEnd查询用户列表, name是可选的,ageStart默认0,ageEnd默认100
}

 

004 || 请求头参数(@RequestHeader)

使用场景:当需要根据客户端发送的请求头中的信息来执行操作时使用。例如,根据客户端设置的特定版本号来返回不同版本的资源。

@GetMapping("/data")
public Data getData(@RequestHeader("Version") String version){
    // 根据请求头中的Version值来获取对应的数据版本
}

 

005 || Cookie参数(@CookieValue)

使用场景:当需要根据客户端发送的Cookie中的值来执行操作时使用。比如验证用户登录状态,从特定的登录Cookie中获取用户标识。

@GetMapping("/profile")
public UserProfile getProfile(@CookieValue("sessionId") String sessionId){
    // 根据sessionId(来自Cookie)获取用户资料
}

 

posted @   HOUHUILIN  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
历史上的今天:
2024-01-13 Ansible - [07] 定义变量的几种方式
点击右上角即可分享
微信分享提示