SpringMVC——REST风格

一、REST简介

REST(Representational State Transfer),表现形式状态转换
🍹 ◆ 传统风格资源描述形式
查看某个用户的信息 —— http://localhost/user/getById?id=1
保存用户信息 —— http://localhost/user/saveUser
🍹 ◆REST风格(描述资源的一种访问形式)
http://localhost/user/1
http://localhost/user

● 优点
🍹 ◆ 隐藏资源访问行为,无法通过地址得知对资源是何种操作
🍹 ◆ 书写简单

● 按照REST风格访问资源时使用行为动作区分对资源进行了何种操作
在这里插入图片描述
SpringMVN支持8种,常用4种(GET、POST、PUT、DELETE)

🍹 ◆ http://localhost/users —— 查询全部用户信息 ➠ GET(查询)
🍹 ◆ http://localhost/users/1 —— 查询指定用户信息 ➠ GET(查询)
🍹 ◆ http://localhost/users —— 添加用户信息 ➠ POST(新增/保存)
🍹 ◆ http://localhost/users —— 修改用户信息 ➠ PUT(修改/更新)
🍹 ◆ http://localhost/users/1 —— 删除用户信息 ➠ DELETE(删除)

【注意事项】上述行为是约定方式,约定不是规范,可以打破(eg:POST可以指保存也可以指新增),所以称为REST风格,而不是REST规范。描述模块的名称通常使用复数,也就是加s的格式描述,表示此类资源,而非单个资源,例如:users、books、accounts......

● 按照REST风格对资源进行访问称为RESTful

二、RESTful快速开发(标准开发)

package com.GY.conntroller;
import com.GY.domain.User;
import org.springframework.web.bind.annotation.*;

@RestController   //【设置当前控制器类为RESTful风格,等同于@Controller+@ResponseBody两个注解组合功能】
@RequestMapping("/users")
public class UserController {

    //添加
    /*@RequestMapping(method = RequestMethod.POST)*/
    @PostMapping
    public String save(){
        System.out.println("save  user...... ");
        return "{'module':'user  save'}";
    }

    //删除
    //@PathVariable:参数来自于请求路径(路径变量)
    @DeleteMapping("/{id}")
    public String delete(@PathVariable Integer id){
        System.out.println("delete  user...... "+id);
        return "{'module':'user  delete'}";
    }

    //修改
   /* @RequestMapping(method = RequestMethod.PUT)*/
    @PutMapping
    public  String update(@RequestBody User user){
        System.out.println("update  user...... "+user);
        return "{'module':'user  update'}";
}

    //查询一个
   /* @RequestMapping(value ="/{id}",method = RequestMethod.GET)*/
    @GetMapping("/{id}")
    public String getById(@PathVariable Integer id){
        System.out.println("getById  user...... "+id);
        return "{'module':'user  getById'}";

    }

    //查询全部
    @RequestMapping(method = RequestMethod.GET)
    @GetMapping
    public  String getAll(){
        System.out.println("getAll  user...... ");
        return "{'module':'user  getAll'}";
    }
}

三、基于RESTful页面数据交互

后台接口开发

实体类
在这里插入图片描述

控制器类

package com.GY.conntroller;
import com.GY.domain.User;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.List;

@RestController   //【使用@RestController代替(@Controller+@ResponseBody)】
@RequestMapping("/users")

public class UserController {

    //保存
    /*@RequestMapping(method = RequestMethod.POST)*/
    @PostMapping
    public String save(User user){
        System.out.println("save  user==>"+user);
        return "{'module':'user  save'}";
    }



    //获取全部
    @GetMapping
    public List<User> getAll(){
        User user1=new User();
        user1.setNo(01);
        user1.setName("GY");
        user1.setMoney(254.1);

        User user2=new User();
        user2.setNo(02);
        user2.setName("WW");
        user2.setMoney(1099.8);
        
        List<User>users=new ArrayList<>();
        users.add(user1);
        users.add(user2);

        return users;
    }
}

在Apifox中创建请求(测试)
①Post请求
在这里插入图片描述
保存成功
在这里插入图片描述
①Get请求
在这里插入图片描述
获取数据成功
在这里插入图片描述

页面访问处理

●先做后台功能,开发接口并调通数据

●再做页面异步调用,确认功能可以正常访问

●最后完成页面数据展示

●放行静态资源访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

new一个对象_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值