SpringMVC之Restful

1.Restful

(1)概念
(Representational State Transfer)表现形式状态转换,根据REST风格对资源进行访问称为Restful
(2)优点
隐藏资源的访问行为,无法通过地址得知对资源是何种操作;书写简化
(3)风格
1)描述模块的名称通常使用复数,也就是加s的格式描述,表示此类资源
2)使用行为动作区分资源进行了何种操作

行为动作操作类型
GET查询
POST新增
PUT修改
DELETE删除

2.Restful常用注解

注解名称注解类型位置作用
@RestController类注解SpringMVC控制器类上定义设置当前类为SpringMVC控制器类,且设置当前控制器类所有方法的返回值为响应内容
@RequestMapping类注解SpringMVC控制器类上定义统一设置当前控制器方法请求访问路径前缀,通常使用复数
@GetMapping方法注解SpringMVC控制器方法定义上方表示当前的请求行为操作类型为查询
@PostMapping方法注解SpringMVC控制器方法定义上方表示当前的请求行为操作类型为新增
@PutMapping方法注解SpringMVC控制器方法定义上方表示当前的请求行为操作类型为修改
@DeleteMapping方法注解SpringMVC控制器方法定义上方表示当前的请求行为操作类型为删除
@PathVariable形参注解SpringMVC控制器方法形参定义前面绑定路径参数与处理器方法形参间的关系
@RequestBody形参注解SpringMVC控制器方法形参定义前面将请求中请求体所包含的数据传递给请求参数,此注解一个处理器方法只能使用一次

3.Restful服务端代码案例

package com.example.controller;

import com.example.domain.Result;
import com.example.domain.User;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/demos")
public class DemoController {
    @GetMapping("/{id}")
    public Result getById(@PathVariable int id) {
        System.out.println("根据id查询" + id);
        return new Result();
    }

    @PostMapping
    public Result insert(@RequestBody User user){
        System.out.println("新增用户" + user);
        return new Result();
    }
    
    @PutMapping
    public Result update(@RequestBody User user){
        System.out.println("更新用户" + user);
        return new Result();
    }
    
    @DeleteMapping("/{id}")
    public Result delete(@PathVariable int id){
        System.out.println("删除用户" + id);
        return new Result();
    }

}

4.@RequestBody、@RequestParam、@PathVariable三个注解的区别及应用

(1)区别

  • @RequestParam用于接收URL地址传参或表单传参
  • @RequestBody用于接收json数据
  • @PathVariable用于接收路径变量

(2)应用

  • 发送请求参数超过1个时,以json格式为主,使用@RequestBody
  • 采用RESTful进行开发,当参数数量较少时,例如1个,可以采用@PathVariable接收请求路径变量,通常用于传递id值
  • 未规定开发风格时,发送请求参数超过1个时,选用@RequestParam接收请求参数
  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

码届艺术家

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

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

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

打赏作者

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

抵扣说明:

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

余额充值